Logo Destek

Database => SQL => Konuyu başlatan: bluedeath82 - 04.09.2016, 19:54

Başlık: 2015 ve 2016 Yılı Satışlarını Aynı Sorguda Karşılaştırmak
Gönderen: bluedeath82 - 04.09.2016, 19:54
Merhaba Arkadaşlar

Yıl sonu raporları için 2015 ve 2016 ürün satışlarını birbirleri ile karşılaştırmak istiyorum. Aşağıdaki bir tabloda ürünler için istemiş olduğum bir örnek bulunmaktadır. Yardımcı olacak arkadaşlar şimdiden gönülden çok teşekkür ediyorum.
Not : Tek sorguda böyle bir şey yapılabilir mi ?  Yılların firma numaraları birbirinden farklıdır. (015 =2015  016=2016 )

ürün kodu      ürün açıklaması        2015 adet   2016 adet    2015 ciro    2016 ciro
m.0001            elma                          10               17              5,00            8,50
Başlık: Ynt: 2015 ve 2016 Yılı Satışlarını Aynı Sorguda Karşılaştırmak
Gönderen: Teknik21 - 04.09.2016, 21:21
Sorguyu Çalıştırıp Sonucu yazarsanız.

Kod: [Seç]




WITH TABLOA
AS (SELECT '2016' FİRMA,
        ITM.CODE,
        ITM.NAME,
        SUM(STL.AMOUNT) AS MİKTAR2016,
        SUM(STL.LINENET) AS TUTAR2016
    FROM dbo.LG_016_01_STLINE AS STL
        INNER JOIN dbo.LG_016_ITEMS AS ITM
            ON ITM.LOGICALREF = STL.STOCKREF
    WHERE STL.TRCODE = 8
          AND ITM.CARDTYPE = 1
    GROUP BY ITM.NAME,
        ITM.CODE
   ),
TABLOB
AS (SELECT '2015' FİRMA,
        ITM.CODE,
        ITM.NAME,
        SUM(STL.AMOUNT) AS MİKTAR2015,
        SUM(STL.LINENET) AS TUTAR2015
    FROM dbo.LG_015_01_STLINE AS STL
        INNER JOIN dbo.LG_015_ITEMS AS ITM
            ON ITM.LOGICALREF = STL.STOCKREF
    WHERE STL.TRCODE = 8 /*TOPTAN SATIŞ*/
          AND ITM.CARDTYPE = 1
    GROUP BY ITM.NAME,
        ITM.CODE
   )
SELECT TABLOA.CODE,
    TABLOA.NAME,
    TABLOA.MİKTAR2016,
    TABLOB.MİKTAR2015,
    TABLOA.TUTAR2016,
    TABLOB.TUTAR2015,
    TABLOA.TUTAR2016 - TABLOB.TUTAR2015 AS FARK
FROM TABLOA
    INNER JOIN TABLOB
        ON TABLOB.NAME = TABLOA.NAME;
Başlık: Ynt: 2015 ve 2016 Yılı Satışlarını Aynı Sorguda Karşılaştırmak
Gönderen: cousen - 07.09.2016, 11:43
Sorguyu Çalıştırıp Sonucu yazarsanız.

Kod: [Seç]




WITH TABLOA
AS (SELECT '2016' FİRMA,
        ITM.CODE,
        ITM.NAME,
        SUM(STL.AMOUNT) AS MİKTAR2016,
        SUM(STL.LINENET) AS TUTAR2016
    FROM dbo.LG_016_01_STLINE AS STL
        INNER JOIN dbo.LG_016_ITEMS AS ITM
            ON ITM.LOGICALREF = STL.STOCKREF
    WHERE STL.TRCODE = 8
          AND ITM.CARDTYPE = 1
    GROUP BY ITM.NAME,
        ITM.CODE
   ),
TABLOB
AS (SELECT '2015' FİRMA,
        ITM.CODE,
        ITM.NAME,
        SUM(STL.AMOUNT) AS MİKTAR2015,
        SUM(STL.LINENET) AS TUTAR2015
    FROM dbo.LG_015_01_STLINE AS STL
        INNER JOIN dbo.LG_015_ITEMS AS ITM
            ON ITM.LOGICALREF = STL.STOCKREF
    WHERE STL.TRCODE = 8 /*TOPTAN SATIŞ*/
          AND ITM.CARDTYPE = 1
    GROUP BY ITM.NAME,
        ITM.CODE
   )
SELECT TABLOA.CODE,
    TABLOA.NAME,
    TABLOA.MİKTAR2016,
    TABLOB.MİKTAR2015,
    TABLOA.TUTAR2016,
    TABLOB.TUTAR2015,
    TABLOA.TUTAR2016 - TABLOB.TUTAR2015 AS FARK
FROM TABLOA
    INNER JOIN TABLOB
        ON TABLOB.NAME = TABLOA.NAME;

Rapor çok iyi çalışıyor burda ürünlerin birimler stok grup kodları cari hesap kodu yada ünvanı eklenirse çok kullanışlı olabilir.
Başlık: Ynt: 2015 ve 2016 Yılı Satışlarını Aynı Sorguda Karşılaştırmak
Gönderen: Koray Ü. - 07.09.2016, 12:38
toptan satış faturası kesilerken hizmet kalemi içeriyorsa sonuçlar yanlış dönüyor.. bilginize..
Başlık: Ynt: 2015 ve 2016 Yılı Satışlarını Aynı Sorguda Karşılaştırmak
Gönderen: ByBirol® - 07.09.2016, 12:39
herşeyi devletten beklemeyin , çalışın , araştırın biraz :)
Başlık: Ynt: 2015 ve 2016 Yılı Satışlarını Aynı Sorguda Karşılaştırmak
Gönderen: Teknik21 - 08.09.2016, 15:20
Ana tablo bizden  , gerisi   sizden
Başlık: Ynt: 2015 ve 2016 Yılı Satışlarını Aynı Sorguda Karşılaştırmak
Gönderen: bluedeath82 - 10.09.2016, 08:56
Rapor kendime göre uyarladıktan sonra çok güzel olmuş emeği geçen herkese çok teşekkür ederim.
TabloA 2016 yılını kapsıyor ve TabloB 2015 yılını kapsamaktadır.
2015 yılında tüm satış yapılan ürünleri göstermiyor. Sadece 2016 daki ürünlere göre 2015 yılının satışlarını getirmektedir.
2016 ürünlerinin içerisine 2015 yılından 2016 yılana devredilmeyen ürünleri de getirebilir mi? 
Başlık: Ynt: 2015 ve 2016 Yılı Satışlarını Aynı Sorguda Karşılaştırmak
Gönderen: Teknik21 - 10.09.2016, 08:58
O zaman  INNER JOIN  yerine   LEFT JOIN veya  RIGTH JOIN yapınız..
Başlık: Ynt: 2015 ve 2016 Yılı Satışlarını Aynı Sorguda Karşılaştırmak
Gönderen: vedat_ozer - 19.09.2016, 10:55
Selamlar,

Teknik21 vermiş olduğunuz paylaşım için teşekkür ederim.

Ben çoktan beri arıyodum :)