SELECT
S.DATE_ AS 'SİP.TAR.',
SD.DUEDATE AS 'TES.TAR.',
(CASE WHEN (DATEDIFF(DAY, SD.DUEDATE, GETDATE()) >0) THEN (DATEDIFF(DAY, SD.DUEDATE, GETDATE())) ELSE NULL END) AS 'GECİKME',
C.DEFINITION_ AS 'ÜNV.', C.TOWN AS 'RUT', C.CITY AS 'İLİ',
S.NETTOTAL AS 'TL.TOP.',
SUM(SD.AMOUNT*B.GROSSWEIGHT) AS 'KG.TOP.',
S.GENEXP1 AS 'NOT',
SUM(CASE WHEN SD.STOCKREF=1 THEN SD.AMOUNT ELSE NULL END) AS 'ÜRÜN 1',
SUM(CASE WHEN SD.STOCKREF=2 THEN SD.AMOUNT ELSE NULL END) AS 'ÜRÜN 2'
FROM
LG_001_07_ORFICHE S
LEFT JOIN LG_001_CLCARD C ON C.LOGICALREF=S.CLIENTREF
LEFT JOIN LG_001_07_ORFLINE SD ON S.LOGICALREF=SD.ORDFICHEREF
LEFT JOIN LG_001_ITEMS M ON SD.STOCKREF=M.LOGICALREF
LEFT JOIN LG_001_ITMUNITA B ON M.LOGICALREF=B.ITEMREF
LEFT JOIN LG_001_07_STLINE ST ON S.LOGICALREF=ST.ORDFICHEREF
WHERE
(ST.ORDFICHEREF IS NULL) -- FATURALANMAMIŞ SİPARİŞLER İÇİN
AND (SD.LINETYPE <> '2') -- SATIR İNDİRİMİ OLAN SATIRLARI ATLAMAK İÇİN
AND (DUEDATE <= GETDATE() ) -- TESLİM TARİHİ BUGÜN VE ÖNCESİ
GROUP BY C.CODE, C.DEFINITION_, C.CITY, C.TOWN, S.FICHENO, S.DATE_, SD.DUEDATE, S.NETTOTAL, S.GENEXP1
ORDER BY SD.DUEDATE, İLİ, [RUT]
------------------------------------------------------------------
yukarıdaki sorgu ile bekleyen siparişleri artık çekebiliyorum, buraya kadar sorun yok.
ancak faturalanan siparişler için (ST.ORDFICHEREF IS NOT NULL) diyince sonuçlar sapıtıyor.
daha önce 50 koli olan bir sipariş, faturalandıktan sonra 150 gözüküyor,
bir başkası 25 iken 175 oluyor vs. yani önceki rakamları sabit bir sayı ile çarpıyor, ama neye göre bulamadım.
faturalanan siparişin hem orfline hem de stline tablosuna baktım, değerler normal...