none
Sql Server de toplattıklarıma tarih aralığı belirtme RRS feed

  • Soru


  •  1 AY ONCE  
    BU AY ICINDE            BU AY   BU YIL ICINDE  BU YIL   DEPO   
     GIREN CIKAN GIREN   MF.   CIKAN  MF.   CIKAN TL  GIREN     MF    CIKAN     MF   MEVCUDU

    Yukarıdaki raporu sql de almak istiyorum aşağıdaki komutları yazdığım da bir kaç bilgiyi doğru olarak alıyorum fakat diğer bilgiler de sıkıntı yaşıyorum toplam giren çıkan ve kalan kısımları doğru olark geliyor fakat tarih aralığı olarak verdiğim de devreden olmadığı için - bakiye olarak gözüküyor yardımlarınızı bekliyorum teşekkürler..


    SELECT TBLSTHAR.STOK_KODU STOKKODU,STOK_ADI STOK_ADI,
    sum(STHAR_GCMIK)TOPLAM,
    sum(ISNULL((TBLSTHAR.STHAR_GCMIK-(CASE WHEN STHAR_GCKOD='C' AND TBLSTHAR.STHAR_HTUR NOT IN ('L','M') THEN TBLSTHAR.STHAR_GCMIK ELSE 0 END)),0)) 
    AS GİRİŞ,
    sum(ISNULL((TBLSTHAR.STHAR_GCMIK-(CASE WHEN STHAR_GCKOD='G' AND TBLSTHAR.STHAR_HTUR NOT IN ('L','M') THEN TBLSTHAR.STHAR_GCMIK ELSE 0 END)),0)) 
    AS ÇIKIŞ,
    SUM((ISNULL((TBLSTHAR.STHAR_GCMIK-(CASE WHEN STHAR_GCKOD='C' AND TBLSTHAR.STHAR_HTUR NOT IN ('L','M') THEN TBLSTHAR.STHAR_GCMIK ELSE 0 END)),0) -
    (ISNULL((TBLSTHAR.STHAR_GCMIK-(CASE WHEN STHAR_GCKOD='G' AND TBLSTHAR.STHAR_HTUR NOT IN ('L','M') THEN TBLSTHAR.STHAR_GCMIK ELSE 0 END)),0)))) 
    AS KALAN,dbo.trk(TBLSTSABITEK.INGISIM) AS [FİRMA İSMİ]

    FROM TBLSTHAR
    INNER JOIN TBLSTSABIT ON (TBLSTHAR.STOK_KODU=TBLSTSABIT.STOK_KODU)
    INNER JOIN TBLSTSABITEK ON (TBLSTSABIT.STOK_KODU=TBLSTSABITEK.STOK_KODU)
    WHERE  TBLSTSABITEK.INGISIM IS NOT NULL 
    group by tblsthar.stok_kodu,stok_adi,TBLSTSABITEK.INGISIM ORDER BY TBLSTSABITEK.INGISIM

    21 Temmuz 2014 Pazartesi 09:01

Yanıtlar

  • DECLARE @BUAY INT=7;
     WITH E_GECBUYIL AS (
     SELECT STOK_KODU,SUM(CASE WHEN MONTH(STHAR_TARIH) = @BUAY - 1 AND STHAR_GCKOD='G' THEN STHAR_GCMIK - STHAR_MALFISK ELSE 0 END) GGIREN,
     SUM(CASE WHEN MONTH(STHAR_TARIH) = @BUAY - 1 AND STHAR_GCKOD='G' AND STHAR_MALFISK > 0 THEN STHAR_MALFISK ELSE 0 END) GMFGIREN,
     SUM(CASE WHEN MONTH(STHAR_TARIH) = @BUAY - 1 AND STHAR_GCKOD='C' THEN STHAR_GCMIK - STHAR_MALFISK ELSE 0 END) GCIKAN,
     SUM(CASE WHEN MONTH(STHAR_TARIH) = @BUAY - 1 AND STHAR_GCKOD='C' AND STHAR_MALFISK > 0 THEN STHAR_MALFISK ELSE 0 END) GMFCIKAN,
     SUM(CASE WHEN MONTH(STHAR_TARIH) = @BUAY AND STHAR_GCKOD='G' THEN STHAR_GCMIK - STHAR_MALFISK ELSE 0 END) GIREN,
     SUM(CASE WHEN MONTH(STHAR_TARIH) = @BUAY AND STHAR_GCKOD='G' AND STHAR_MALFISK > 0 THEN STHAR_MALFISK ELSE 0 END) MFGIREN,
     SUM(CASE WHEN MONTH(STHAR_TARIH) = @BUAY AND STHAR_GCKOD='C' THEN STHAR_GCMIK - STHAR_MALFISK ELSE 0 END) CIKAN,
     SUM(CASE WHEN MONTH(STHAR_TARIH) = @BUAY AND STHAR_GCKOD='C' AND STHAR_MALFISK > 0 THEN STHAR_MALFISK ELSE 0 END) MFCIKAN,
     SUM(CASE WHEN STHAR_GCKOD='G' THEN STHAR_GCMIK - STHAR_MALFISK ELSE 0 END) YGIREN,
     SUM(CASE WHEN STHAR_GCKOD='G' AND STHAR_MALFISK > 0 THEN STHAR_MALFISK ELSE 0 END) YMFGIREN,
     SUM(CASE WHEN STHAR_GCKOD='C' THEN STHAR_GCMIK - STHAR_MALFISK ELSE 0 END) YCIKAN,
     SUM(CASE WHEN STHAR_GCKOD='C' AND STHAR_MALFISK > 0 THEN STHAR_MALFISK ELSE 0 END) YMFCIKAN
     FROM TBLSTHAR
     WHERE STHAR_HTUR NOT IN ('L','M')
     GROUP BY STOK_KODU
     )
    SELECT PP.STOK_KODU,STOK_ADI,INGISIM,ISNULL(GGIREN,0) GGIREN,ISNULL(GCIKAN,0) GCIKAN,
    ISNULL(CIKAN,0) CIKAN,ISNULL(MFCIKAN,0) MFCIKAN,
     ISNULL(YCIKAN,0) YCIKAN,  ISNULL(YMFCIKAN,0) YMFCIKAN,KALAN
    FROM (SELECT A.STOK_KODU,B.STOK_ADI,C.INGISIM,
     SUM(CASE WHEN STHAR_GCKOD='G' THEN STHAR_GCMIK ELSE -STHAR_GCMIK END) KALAN
     FROM TBLSTHAR A
     INNER JOIN TBLSTSABIT B ON A.STOK_KODU=B.STOK_KODU
     INNER JOIN TBLSTSABITEK C ON B.STOK_KODU=C.STOK_KODU
     GROUP BY A.STOK_KODU,B.STOK_ADI,C.INGISIM) PP
     LEFT JOIN E_GECBUYIL D ON PP.STOK_KODU=D.STOK_KODU

    • Yanıt Olarak İşaretleyen Burak ORDU 26 Temmuz 2014 Cumartesi 19:15
    22 Temmuz 2014 Salı 12:26

Tüm Yanıtlar

  • Raporun Başlıkları 2 satır olarak yazıldığından tam anlaşılmıyor.  Bu sütunları ayrı ayrı belirtirseniz sorgunuza yardımcı olabilirim

    21 Temmuz 2014 Pazartesi 12:36
  • http://social.msdn.microsoft.com/Forums/getfile/502515

    anlaşılır umarım 

    21 Temmuz 2014 Pazartesi 12:53
  •  DECLARE @BUAY INT=7;
     WITH E_GECBUYIL AS (
     SELECT STOK_KODU,SUM(CASE WHEN MONTH(STHAR_TARIH) = @BUAY - 1 AND STHAR_GCKOD='G' THEN STHAR_GCMIK - STHAR_MALFISK ELSE 0 END) GGIREN,
     SUM(CASE WHEN MONTH(STHAR_TARIH) = @BUAY - 1 AND STHAR_GCKOD='G' AND STHAR_MALFISK > 0 THEN STHAR_MALFISK ELSE 0 END) GMFGIREN,
     SUM(CASE WHEN MONTH(STHAR_TARIH) = @BUAY - 1 AND STHAR_GCKOD='C' THEN STHAR_GCMIK - STHAR_MALFISK ELSE 0 END) GCIKAN,
     SUM(CASE WHEN MONTH(STHAR_TARIH) = @BUAY - 1 AND STHAR_GCKOD='C' AND STHAR_MALFISK > 0 THEN STHAR_MALFISK ELSE 0 END) GMFCIKAN,
     SUM(CASE WHEN MONTH(STHAR_TARIH) = @BUAY AND STHAR_GCKOD='G' THEN STHAR_GCMIK - STHAR_MALFISK ELSE 0 END) GIREN,
     SUM(CASE WHEN MONTH(STHAR_TARIH) = @BUAY AND STHAR_GCKOD='G' AND STHAR_MALFISK > 0 THEN STHAR_MALFISK ELSE 0 END) MFGIREN,
     SUM(CASE WHEN MONTH(STHAR_TARIH) = @BUAY AND STHAR_GCKOD='C' THEN STHAR_GCMIK - STHAR_MALFISK ELSE 0 END) CIKAN,
     SUM(CASE WHEN MONTH(STHAR_TARIH) = @BUAY AND STHAR_GCKOD='C' AND STHAR_MALFISK > 0 THEN STHAR_MALFISK ELSE 0 END) MFCIKAN,
     SUM(CASE WHEN STHAR_GCKOD='G' THEN STHAR_GCMIK - STHAR_MALFISK ELSE 0 END) YGIREN,
     SUM(CASE WHEN STHAR_GCKOD='G' AND STHAR_MALFISK > 0 THEN STHAR_MALFISK ELSE 0 END) YMFGIREN,
     SUM(CASE WHEN STHAR_GCKOD='C' THEN STHAR_GCMIK - STHAR_MALFISK ELSE 0 END) YCIKAN,
     SUM(CASE WHEN STHAR_GCKOD='C' AND STHAR_MALFISK > 0 THEN STHAR_MALFISK ELSE 0 END) YMFCIKAN
     FROM TBLSTHAR
     WHERE STHAR_HTUR NOT IN ('L','M')
     GROUP BY STOK_KODU
     )
    SELECT A.STOK_KODU,B.STOK_ADI,C.INGISIM,SUM(ISNULL(GGIREN,0)) GGIREN,SUM(ISNULL(GCIKAN,0)) GCIKAN,
     SUM(ISNULL(CIKAN,0)) CIKAN,SUM(ISNULL(MFCIKAN,0)) MFCIKAN,
     SUM(ISNULL(YCIKAN,0)) YCIKAN,  SUM(ISNULL(YMFCIKAN,0)) YMFCIKAN,
     SUM(CASE WHEN STHAR_GCKOD='G' THEN STHAR_GCMIK ELSE -STHAR_GCMIK END) KALAN
     FROM TBLSTHAR A
     INNER JOIN TBLSTSABIT B ON A.STOK_KODU=B.STOK_KODU
     INNER JOIN TBLSTSABITEK C ON B.STOK_KODU=C.STOK_KODU
     LEFT JOIN E_GECBUYIL D ON B.STOK_KODU=D.STOK_KODU
     GROUP BY A.STOK_KODU,B.STOK_ADI,C.INGISIM

    21 Temmuz 2014 Pazartesi 14:33
  • Toplamalarda Sıkıntı Var kalan ürün doğru biraz üzerinde çalışacağım
    22 Temmuz 2014 Salı 09:24
  • DECLARE @BUAY INT=7;
     WITH E_GECBUYIL AS (
     SELECT STOK_KODU,SUM(CASE WHEN MONTH(STHAR_TARIH) = @BUAY - 1 AND STHAR_GCKOD='G' THEN STHAR_GCMIK - STHAR_MALFISK ELSE 0 END) GGIREN,
     SUM(CASE WHEN MONTH(STHAR_TARIH) = @BUAY - 1 AND STHAR_GCKOD='G' AND STHAR_MALFISK > 0 THEN STHAR_MALFISK ELSE 0 END) GMFGIREN,
     SUM(CASE WHEN MONTH(STHAR_TARIH) = @BUAY - 1 AND STHAR_GCKOD='C' THEN STHAR_GCMIK - STHAR_MALFISK ELSE 0 END) GCIKAN,
     SUM(CASE WHEN MONTH(STHAR_TARIH) = @BUAY - 1 AND STHAR_GCKOD='C' AND STHAR_MALFISK > 0 THEN STHAR_MALFISK ELSE 0 END) GMFCIKAN,
     SUM(CASE WHEN MONTH(STHAR_TARIH) = @BUAY AND STHAR_GCKOD='G' THEN STHAR_GCMIK - STHAR_MALFISK ELSE 0 END) GIREN,
     SUM(CASE WHEN MONTH(STHAR_TARIH) = @BUAY AND STHAR_GCKOD='G' AND STHAR_MALFISK > 0 THEN STHAR_MALFISK ELSE 0 END) MFGIREN,
     SUM(CASE WHEN MONTH(STHAR_TARIH) = @BUAY AND STHAR_GCKOD='C' THEN STHAR_GCMIK - STHAR_MALFISK ELSE 0 END) CIKAN,
     SUM(CASE WHEN MONTH(STHAR_TARIH) = @BUAY AND STHAR_GCKOD='C' AND STHAR_MALFISK > 0 THEN STHAR_MALFISK ELSE 0 END) MFCIKAN,
     SUM(CASE WHEN STHAR_GCKOD='G' THEN STHAR_GCMIK - STHAR_MALFISK ELSE 0 END) YGIREN,
     SUM(CASE WHEN STHAR_GCKOD='G' AND STHAR_MALFISK > 0 THEN STHAR_MALFISK ELSE 0 END) YMFGIREN,
     SUM(CASE WHEN STHAR_GCKOD='C' THEN STHAR_GCMIK - STHAR_MALFISK ELSE 0 END) YCIKAN,
     SUM(CASE WHEN STHAR_GCKOD='C' AND STHAR_MALFISK > 0 THEN STHAR_MALFISK ELSE 0 END) YMFCIKAN
     FROM TBLSTHAR
     WHERE STHAR_HTUR NOT IN ('L','M')
     GROUP BY STOK_KODU
     )
    SELECT PP.STOK_KODU,STOK_ADI,INGISIM,ISNULL(GGIREN,0) GGIREN,ISNULL(GCIKAN,0) GCIKAN,
    ISNULL(CIKAN,0) CIKAN,ISNULL(MFCIKAN,0) MFCIKAN,
     ISNULL(YCIKAN,0) YCIKAN,  ISNULL(YMFCIKAN,0) YMFCIKAN,KALAN
    FROM (SELECT A.STOK_KODU,B.STOK_ADI,C.INGISIM,
     SUM(CASE WHEN STHAR_GCKOD='G' THEN STHAR_GCMIK ELSE -STHAR_GCMIK END) KALAN
     FROM TBLSTHAR A
     INNER JOIN TBLSTSABIT B ON A.STOK_KODU=B.STOK_KODU
     INNER JOIN TBLSTSABITEK C ON B.STOK_KODU=C.STOK_KODU
     GROUP BY A.STOK_KODU,B.STOK_ADI,C.INGISIM) PP
     LEFT JOIN E_GECBUYIL D ON PP.STOK_KODU=D.STOK_KODU

    • Yanıt Olarak İşaretleyen Burak ORDU 26 Temmuz 2014 Cumartesi 19:15
    22 Temmuz 2014 Salı 12:26
  • Merhaba yukarıdaki rapora birde geçen aydan deviri eklemek istiyorum nasıl yapmam lazım yardımcı olurmusun
    17 Ekim 2014 Cuma 07:47