SELECT --DISTINCT -- not needed, covered by GROUP BY year(sd.FKDAT) As YEARWISE_DATA, so.vkbur As MARKET, so.bezei As NAME, sd.kunrg As PARTY, cm.NAME1 As PARTY_NAME, im.MATNR As ITEM, im.MAKTX As ITEM_DESCRIPTION, im.EAN11 As USACODE, QUANTITY = CASE WHEN x.Condition = 1 THEN 0 ELSE SUM(sd.FKIMG) END, VALUE_IN_FC = CASE WHEN x.Condition = 1 THEN 0 ELSE SUM(vb.NETWR) END, -- should this be vb. or sd.? [WEIGHT] = CASE WHEN x.Condition = 1 THEN 0 ELSE SUM(sd.NTGEW) END, PENDING_QUANTITY = CASE WHEN x.Condition = 1 THEN SUM(vb.KWMENG) ELSE 0 END, PENDING_VALUE = CASE WHEN x.Condition = 1 THEN SUM(vb.NETWR) ELSE 0 END, PENDING_WEIGHT = CASE WHEN x.Condition = 1 THEN SUM(vb.NTGEW) ELSE 0 END FROM sales_office soLEFT JOIN SALES_DATA sd ON so.VKBUR = sd.VKBURINNER JOIN Item_Mas im ON sd.MATNR = im.MATNR INNER JOIN Cust_Mas cm ON sd.KUNRG = cm.KUNNRINNER JOIN VBAP vb ON sd.AUBEL = vb.VBELN AND sd.AUPOS = vb.POSNR AND sd.MATNR = vb.MATNR CROSS APPLY ( SELECT Condition = CASE WHEN --sd.FKDAT >= @FromDate -- not needed, already in WHERE clause --AND sd.FKDAT <= @EndDate -- not needed, already in WHERE clause sd.KUNRG = 'HA127' AND sd.MATNR = 'FG151765162081222' THEN 2 ELSE 1 END) xWHERE sd.FKDAT >= @FromDate AND sd.FKDAT <= @EndDate AND im.EAN11 != ' 'GROUP BY YEAR(sd.FKDAT), so.vkbur, so.bezei, sd.kunrg, cm.NAME1, im.MATNR, im.MAKTX, im.EAN11ORDER BY 1, so.VKBUR, sd.kunrg, im.EAN11 ASC
LEFT JOIN SALES_DATA sd ON so.VKBUR = sd.VKBUR