i think you want thisSELECT t.transno,t.vid,t.transdate,t1.Dangerous,t1.[Non Prime],t1.Prime,t1.VehicleFROM transmas tINNER JOIN transdet tdON td.transid=t.transnoINNER JOIN(SELECT id.itemid,COUNT(CASE WHEN cdesc='Dangerous' THEN c.cid ELSE NULL END) AS Dangerous,COUNT(CASE WHEN cdesc='Non Prime' THEN c.cid ELSE NULL END) AS [Non Prime],COUNT(CASE WHEN cdesc='Prime' THEN c.cid ELSE NULL END) AS Prime,COUNT(CASE WHEN cdesc='Vehicle' THEN c.cid ELSE NULL END) AS VehicleFROM itemdet idINNER JOIN classification cON c.cid=id.cidGROUP BY id.itemid)t1ON t1.itemid=td.itemid