I don't know what it does (I would have to guess what the fields actually represent) but reordering, using aliasses, and indenting properly might help: SELECT Prd.PrdGrpCode, Prd.PrdSubGrpCode, MONTH(FgT.Iddate) AS M, YEAR(FgT.Iddate) AS Y, Se.SEName, SUM(FgT.IdPrdQty) AS SaleQ, SUM(FgT.IdPrdQty * 0) AS TargetQ FROM SAS_V_GrpMst as Grp INNER JOIN SAS_V_PrdMst as Prd ON Grp.GrpCode = Prd.PrdGrpCode AND Grp.GrpSubCode = Prd.PrdSubGrpCode INNER JOIN SAS_V_FgTData as FgT ON FgT.IdPrdCode = Prd.PrdCode INNER JOIN SAS_V_DealerMst as Dealer ON FgT.IdDealerCode = Dealer.dealerCode INNER JOIN SAS_V_SeMst as Se ON Dealer.DealerSECode = Se.SECode WHERE MONTH(FgT.Iddate) = 4 AND YEAR(FgT.Iddate) = 2014 AND FgT.IdType IN ('S', 'US') GROUP BY Prd.PrdGrpCode, Prd.PrdSubGrpCode, MONTH(FgT.Iddate), YEAR(FgT.Iddate), Se.SEName; PG
... View more