none
Sql YanYana Sıralama RRS feed

  • Soru

  • Arkadaşlar bir sorgum var sorguda birşey yapmak istiyorum 2 gündür yapamadım.Şimdi aşağıda
    ki resimde veriler 4 satırda geliyor ama benim istediğim depo1 in stok miktarı depo1 de depo2 nin stok miktarı ise depo2 de getirmek beceremedim bir türlü acaba nerede hata yapıyorum yardımcı olur musunuz?Sorgumda asagıda ilgilenirseniz çok sevinirim
    SELECT STK004_MalKodu AS MalKodu, STK004_Aciklama AS MalAdi, STK004_GrupKodu AS GrupKodu, STK004_Birim1 AS Birim, 
    STK004_SatisFiyati1 AS Fiyat,
    ISNULL((CASE STK005_Depo WHEN '001' THEN 'Görükle' END),0) AS Depo1,
    ISNULL((CASE STK005_Depo WHEN '007' THEN 'Seramik' END),0) AS Depo2,
    ISNULL((CASE STK005_Depo WHEN '008' THEN 'ShowRoom' END),0) AS Depo3,
    (SUM(CASE WHEN STK005_GC = 0 AND STK005_Depo='001' THEN STK005_Miktari ELSE 0 END) -
    SUM(CASE WHEN STK005_GC = 1 AND STK005_Depo='001' THEN STK005_Miktari ELSE 0 END)) AS Depo1StokMiktar,
    (SUM(CASE WHEN STK005_GC = 0 AND STK005_Depo='007' THEN STK005_Miktari ELSE 0 END) -
    SUM(CASE WHEN STK005_GC = 1 AND STK005_Depo='007' THEN STK005_Miktari ELSE 0 END)) AS Depo2StokMiktar,
    (SUM(CASE WHEN STK005_GC = 0 AND STK005_Depo='008' THEN STK005_Miktari ELSE 0 END) -
    SUM(CASE WHEN STK005_GC = 1 AND STK005_Depo='008' THEN STK005_Miktari ELSE 0 END)) AS Depo3StokMiktar
    
    FROM YNS00080.STK004 RIGHT JOIN YNS00080.STK005 ON STK004_MalKodu = STK005_MalKodu 
    WHERE (STK004_Aciklama LIKE 'TAVAN U PROFİL%') 
    GROUP BY STK005_MalKodu, STK004_Aciklama, STK004_Birim1, STK005_Depo,STK004_SatisFiyati1,STK004_MalKodu,STK004_GrupKodu
    --WHERE (STK004_Aciklama LIKE 'TAVAN U PROFİL%') 
    ORDER BY STK004_Aciklama ASC
    


    28 Nisan 2013 Pazar 06:25

Yanıtlar

  • SELECT STK004_MalKodu AS MalKodu, STK004_Aciklama AS MalAdi, STK004_GrupKodu AS GrupKodu, STK004_Birim1 AS Birim,
    STK004_SatisFiyati1 AS Fiyat,
    SUM(ISNULL((CASE WHEN STK005_Depo='001' THEN (CASE WHEN STK005_GC = 0 THEN STK005_Miktari ELSE -STK005_Miktari END) ELSE 0 END),0)) AS [Görükle StokMik],
    SUM(ISNULL((CASE WHEN STK005_Depo='007' THEN (CASE WHEN STK005_GC = 0 THEN STK005_Miktari ELSE -STK005_Miktari END) ELSE 0 END),0)) AS [Seramik StokMik],
    SUM(ISNULL((CASE WHEN STK005_Depo='008' THEN (CASE WHEN STK005_GC = 0 THEN STK005_Miktari ELSE -STK005_Miktari END) ELSE 0 END),0)) AS [ShowRoom StokMik]

    FROM YNS00080.STK004 RIGHT JOIN YNS00080.STK005 ON STK004_MalKodu = STK005_MalKodu
    WHERE (STK004_Aciklama LIKE 'TAVAN U PROFİL%')
    GROUP BY STK004_MalKodu, STK004_Aciklama, STK004_Birim1, STK004_SatisFiyati1, STK004_GrupKodu
    --WHERE (STK004_Aciklama LIKE 'TAVAN U PROFİL%')
    ORDER BY STK004_Aciklama ASC
    28 Nisan 2013 Pazar 19:49