Aspire
Koineks
  • 18-03-2013, 13:45:39
    #1
    1/2
    Arkadaşlar merhaba;
    Stored Procedure ile yazılmış gelir vede gider olarak 2 procedurem var.
    1.de kategorilere göre gelirler.
    2.de kategorilere göre giderler.

    Yalnız giderdeki kategori ile gelirdeki kategori isimleri bazen bir birini tutmuyor.
    1.gelir örnek veri şekli
    _ürün Adı_____KDV__Toplam__
    1.Forma______:123__1234____
    2.Şort_______:123__1234____
    3.Çorap______:123__1234____

    2.Gider örnegi
    _ürün Adı_____KDV__Toplam__
    1.Forma______:10__110____
    2.Şort_______:10__110____
    3.Baskı______:10__110____

    Gördüğünüz gibi çorapın gideri yok ama baskı gideri var.

    Bunları şu şekilde birleştirmek istiyorum.
    _ürün Adı_____Gelir KDV__Gelir Toplam______Gider KDV__Gider Toplam
    1.Forma______:123_____1234_____________10________1 10____
    2.Şort_______:123_____1234_____________10________1 10____
    3.Çorap______:123_____1234_____________00________0 00
    3.Baskı______:000_____0000_____________10________1 10____


    Bu şekilde verilerimi nasıl birleştiririm
    procedure isimleri
    sp_GelirKategoriToplam(Kategori Adı,KDV Tutarı,Toplamı)
    sp_GiderKategoriToplam(Kategori Adı,KDV Tutarı,Toplamı)
    Ucuz Forma - Osmaniye Haber
  • Sponsor Reklam
  • 18-03-2013, 15:38:55
    #2
    1/2
    merhaba,
    iki tabloda da uyumsuzluk olduğu için left,right ve inner join yerine full join i kullanacasın.
    burada en altta örnek ve açıklama mevcut.

    sp ile nasıl birleştirmek istediğini açıkça anlamadım. sp ler sana bir değer dönderir ya da bir işini yapar, eğer sana tablo dönderiyorsa elinde iki tablo olacak, linq komutlarından join kullanarak yine bu birleşmeyi yapabilirsin
    Lütfen özel mesaj atmak yerine sorularınızı forum üzerinden sorun.
  • 18-03-2013, 20:11:27
    #3
    1/2
    Union kullanarak yapabilirsin. Ama ilk olarak tablo içeriklerini buraya koyarsan daha net yardımcı olabiliriz.
    Full Stack Developer | FotoFes - Fotoğraf paylaşım ve fotoğrafçı portfolyosu
  • 19-03-2013, 15:52:46
    #4
    1/2
    ARKDAŞLAR OLAYI FARKLI ŞEKİLDE ÇÖZDÜM.
    Gördüğünüz gibi 2 sorgulamayı unionla birleştirdim.
    1. sorgu 1. procedure idi
    2. sorgu 2. procedure idi
    ikisinide açık açık yazıp yeni bir sorgulama ile birleştirdim.
    Sonra bunları gruplayınca istediğim oluştu.

    Konu başlığı gayet açık oldugundan bu konuya mutlaka ihtiyacı olan olacaktır. aşağıda kodlarımı paylaştım. Kolay gelsin


    Alıntı
    CREATE PROCEDURE SP_DenemeBirlestir
    AS

    Select CATNAME,SUM(GelirKdvTutari), SUM(GelirToplami),SUM(GiderKdvTutari), SUM(GiderToplami) from
    (

    (SELECT (CT1.Name) as CATNAME,(SUM(G.KdvTutari)) as GelirKdvTutari, (SUM(G.Toplam)) as GelirToplami,(0)as GiderKdvTutari,(0)as GiderToplami
    FROM GelirKalemleri G
    INNER JOIN inCat CT1 ON G.Cat = CT1.id
    INNER JOIN Gelirler GL ON GL.id = G.FaturaId
    GROUP BY CT1.[Name])
    UNION
    (SELECT (CT2.Name) as CATNAME,(0)AS BOS1,(0)AS BOS2,(SUM(GD.KdvTutari)) as GiderKdvTutari, (SUM(GD.Toplam)) as GiderToplami
    FROM GiderKalemleri GD
    INNER JOIN inCat CT2 ON GD.Cat = CT2.id
    INNER JOIN Giderler GRL ON GRL.id = GD.FaturaId
    GROUP BY CT2.Name)

    )
    TEMP

    GROUP BY CATNAME
    Ucuz Forma - Osmaniye Haber