none
sql group by komutu RRS feed

  • Soru

  • Selamlar

    SELECT STKHARTAR AS 'Tarih', 
       '1:G/2:Ç' = CASE
           WHEN  STKHARGCFLAG=1 AND STKHARIADE=0 THEN 'Giren'
           WHEN  STKHARGCFLAG=1 AND STKHARIADE=1 THEN 'İ-Giren'
           WHEN  STKHARGCFLAG=2 AND STKHARIADE=0 THEN 'Çıkan'
           WHEN  STKHARGCFLAG=2 AND STKHARIADE=1 THEN 'İ-Çıkan'
       END, 
       STKHARSTKKOD AS 'Stok Kodu', STKHARSTKBRM AS 'Birim', STKHARMIKTAR AS 'Miktar', STKHARRB1 AS 'RenkKod', STKFISEVRAKNO1 AS 'Evrak No 1', STKHARANADEPO AS 'Depo Kodu', STKHARACIKLAMA AS 'Açıklama'
    FROM STKHAR WITH(NOLOCK) LEFT JOIN STKFIS WITH(NOLOCK) ON STKHARREFNO=STKFISREFNO LEFT JOIN CARKART  WITH(NOLOCK) ON STKHARCARKOD=CARKOD  WHERE STKHARANADEPO=STKFISANADEPO
    ORDER BY STKHARTAR, STKHARKAYONC, STKHARREFNO

    bu sorguya stok kodu ve renk kodu aynı olan giren ürünlerle, stok kodu ve renk kodu aynı olan çıkan ürünleri gruplayıp sonra aralarındaki farkı ayrı bir miktar kolonuna nasıl yazdırabilirim...

    Teşekkür ederim.


    • Düzenleyen Barış Sarıtaş 25 Aralık 2013 Çarşamba 07:12 Kodlar 'Code' Bloğuna Eklendi
    24 Aralık 2013 Salı 15:49

Yanıtlar

  • SELECT STKHARSTKKOD,STKHARRB1,
    SUM(CASE WHEN (STKHARGCFLAG=1 AND STKHARIADE=0) OR (STKHARGCFLAG=2 AND STKHARIADE=1) THEN STKHARMIKTAR ELSE 0 END) AS GIRIS,
    SUM(CASE WHEN (STKHARGCFLAG=2 AND STKHARIADE=0) OR (STKHARGCFLAG=1 AND STKHARIADE=1) THEN STKHARMIKTAR ELSE 0 END) AS CIKIS,
    SUM(CASE WHEN (STKHARGCFLAG=1 AND STKHARIADE=0) OR (STKHARGCFLAG=2 AND STKHARIADE=1) THEN STKHARMIKTAR
    WHEN (STKHARGCFLAG=2 AND STKHARIADE=0) OR (STKHARGCFLAG=1 AND STKHARIADE=1) THEN -STKHARMIKTAR ELSE 0 END) AS KALAN
    FROM STKHAR WITH(NOLOCK) 
    LEFT JOIN STKFIS WITH(NOLOCK) ON STKHARREFNO=STKFISREFNO 
    LEFT JOIN CARKART  WITH(NOLOCK) ON STKHARCARKOD=CARKOD  
    WHERE STKHARANADEPO=STKFISANADEPO
    GROUP BY STKHARSTKKOD,STKHARRB1


    yulkarıdaki sorguda group by stok kodu ve renk kodu ile gruplanmıştır,

    size gerekli olan birim, tarih veya depo kodu ve benzeri detaylar istenirse eklenebilir

    Not: GCFlag 1 ,HarIade 0 ile GCFlag 2 , HarIade 1 stok miktarını arttrıcı olarak düşünüldü. Sizin iş kuralınıza (Program mantığınıza) uyup uymadığını bilmiyorum
    25 Aralık 2013 Çarşamba 08:23

Tüm Yanıtlar

  • SELECT STKHARSTKKOD,STKHARRB1,
    SUM(CASE WHEN (STKHARGCFLAG=1 AND STKHARIADE=0) OR (STKHARGCFLAG=2 AND STKHARIADE=1) THEN STKHARMIKTAR ELSE 0 END) AS GIRIS,
    SUM(CASE WHEN (STKHARGCFLAG=2 AND STKHARIADE=0) OR (STKHARGCFLAG=1 AND STKHARIADE=1) THEN STKHARMIKTAR ELSE 0 END) AS CIKIS,
    SUM(CASE WHEN (STKHARGCFLAG=1 AND STKHARIADE=0) OR (STKHARGCFLAG=2 AND STKHARIADE=1) THEN STKHARMIKTAR
    WHEN (STKHARGCFLAG=2 AND STKHARIADE=0) OR (STKHARGCFLAG=1 AND STKHARIADE=1) THEN -STKHARMIKTAR ELSE 0 END) AS KALAN
    FROM STKHAR WITH(NOLOCK) 
    LEFT JOIN STKFIS WITH(NOLOCK) ON STKHARREFNO=STKFISREFNO 
    LEFT JOIN CARKART  WITH(NOLOCK) ON STKHARCARKOD=CARKOD  
    WHERE STKHARANADEPO=STKFISANADEPO
    GROUP BY STKHARSTKKOD,STKHARRB1


    yulkarıdaki sorguda group by stok kodu ve renk kodu ile gruplanmıştır,

    size gerekli olan birim, tarih veya depo kodu ve benzeri detaylar istenirse eklenebilir

    Not: GCFlag 1 ,HarIade 0 ile GCFlag 2 , HarIade 1 stok miktarını arttrıcı olarak düşünüldü. Sizin iş kuralınıza (Program mantığınıza) uyup uymadığını bilmiyorum
    25 Aralık 2013 Çarşamba 08:23
  • Teşekkür ederim ilgi ve alakanıza sağolun işimi gördü
    26 Aralık 2013 Perşembe 08:17