BU Konuyu tekrar canlandırmak zorundayım kusura bakmayın daha önce promosyon sorunu vardı azmy hocamın gösterdiği yol ile onu çok güzel bir şekilde çözdük ancak şimdi başka bir sorun var çözemedim.
aşağıda yazacağım örnekle daha kolay anlaşılır umarım.
örnek
depoda olmayan x ürününden
03.01.2013 tarihinde 5 ad. iade alınmıştır. sağlam olarak
aynı ürün
05.01.2013 tarihinde satılmıştır.
ancak maliyet hesaplama yaptığımda bu ürünün maliyeti 0 olarak görünüyor. bunun sebebini anlamadım sorgumdamı bir sıkıntı var yoksa maliyet hesaplamada iadelerde özel bir durum mu var
sorgum
SELECT
FATURA.FICHENO AS [FAT NO],
CARI.DEFINITION_ AS [CARİ ADI],
FATURA.DATE_ AS [TARİH],
Case when stline.linetype=1 then 1 else 0 end*stline.vatmatrah AS PROMOSYON,
Case when stline.linetype=1 then 0 else 1 end*stline.amount as ADET,
Case when stline.linetype=1 then 0 else 1 end*stline.vatmatrah AS TUTAR,
ROUND(SUM(STLINE.OUTCOST * STLINE.AMOUNT), 2) AS MALİYET,
ROUND(SUM(STLINE.LINENET) - SUM(STLINE.OUTCOST * STLINE.AMOUNT), 2) AS KAR,
ROUND((ROUND(SUM(STLINE.LINENET), 2) / ROUND(SUM(CASE WHEN STLINE.OUTCOST > 0 THEN STLINE.OUTCOST * STLINE.AMOUNT ELSE 1 END), 2) - 1) * 100, 2) AS YÜZDE,
LG_008_ITEMS.NAME,
LG_008_ITEMS.STGRPCODE,STLINE.PRICE
FROM
LG_008_05_INVOICE AS FATURA INNER JOIN
LG_008_05_STLINE AS STLINE ON STLINE.INVOICEREF = FATURA.LOGICALREF INNER JOIN LG_008_CLCARD AS CARI ON CARI.LOGICALREF = FATURA.CLIENTREF INNER JOIN LG_008_ITEMS ON STLINE.STOCKREF = LG_008_ITEMS.LOGICALREF WHERE (FATURA.TRCODE = 8 ) AND (FATURA.DATE_ BETWEEN CONVERT(DATETIME, '2012-01-01 00:00:00', 102) AND
CONVERT(DATETIME, '2012-12-31 00:00:00', 102))
AND (STLINE.STOCKREF > 0)
AND (FATURA.CANCELLED = 0)
GROUP BY
FATURA.FICHENO,
CARI.DEFINITION_,
FATURA.DATE_,
STLINE.PRICE,
LG_008_ITEMS.NAME ,
LG_008_ITEMS.STGRPCODE
ORDER BY FATURA.DATE_