Forum

Count ile belli tar...
 
Bildirimler
Hepsini Temizle

Count ile belli tarih aralığını saydırma

4 Yazılar
2 Üyeler
0 Likes
1,922 Görüntüleme
(@ozguraltinel)
Gönderiler: 244
Reputable Member
Konu başlatıcı
 

Arkadaşlar.

Aşağıdaki sorguda CARI_KODU nu grupladım ve çeşitli alanları 5. ay için topladım. Bana belirttiğim ay içerisinde kaç adet CARI_KODU nu topladığım bilgisi lazım. Aşağıdaki kodda tarihi dikkate almadan tablodakilerin tamamına göre adet bilgisi veriyor. Yani 1 sütun daha açtırıp 5. ayda ilgili CARI_KODU kaç kere birleştirilmiş.

 

SELECT     TOP (100) PERCENT T.CARI_KODU,

                          (SELECT     SUM(BRUTTUTAR) AS BRUT

                            FROM          dbo.TBLFATUIRS AS TBLFATUIRS_1

                            WHERE      (CARI_KODU = T.CARI_KODU) AND (MONTH(TARIH) = 5) AND (YEAR(TARIH) = 2012)) +

                          (SELECT     SUM(F_YEDEK3) AS DIGER

                            FROM          dbo.TBLFATUIRS AS TBLFATUIRS_2

                            WHERE      (CARI_KODU = T.CARI_KODU) AND (MONTH(TARIH) = 5) AND (YEAR(TARIH) = 2012)) -

                          (SELECT     SUM(SAT_ISKT) AS ISKONTO

                            FROM          dbo.TBLFATUIRS AS TBLFATUIRS_3

                            WHERE      (CARI_KODU = T.CARI_KODU) AND (MONTH(TARIH) = 5) AND (YEAR(TARIH) = 2012)) AS TUTAR, 

                      REPLACE(REPLACE(REPLACE(dbo.TBLCASABIT.CARI_ISIM, 'Þ', 'Ş'), 'Ý', 'İ'), 'Ð', 'Ğ') AS ISIM, dbo.TBLCASABIT.VERGI_NUMARASI, COUNT(T.CARI_KODU) AS ADET

FROM         dbo.TBLFATUIRS AS T INNER JOIN

                      dbo.TBLCASABIT ON T.CARI_KODU = dbo.TBLCASABIT.CARI_KOD

GROUP BY T.CARI_KODU, REPLACE(REPLACE(REPLACE(dbo.TBLCASABIT.CARI_ISIM, 'Þ', 'Ş'), 'Ý', 'İ'), 'Ð', 'Ğ'), dbo.TBLCASABIT.VERGI_NUMARASI

HAVING      ((SELECT     SUM(BRUTTUTAR) AS BRUT

                         FROM         dbo.TBLFATUIRS AS TBLFATUIRS_1

                         WHERE     (CARI_KODU = T.CARI_KODU) AND (MONTH(TARIH) = 5) AND (YEAR(TARIH) = 2012)) +

                          (SELECT     SUM(F_YEDEK3) AS DIGER

                            FROM          dbo.TBLFATUIRS AS TBLFATUIRS_2

                            WHERE      (CARI_KODU = T.CARI_KODU) AND (MONTH(TARIH) = 5) AND (YEAR(TARIH) = 2012)) -

                          (SELECT     SUM(SAT_ISKT) AS ISKONTO

                            FROM          dbo.TBLFATUIRS AS TBLFATUIRS_3

                            WHERE      (CARI_KODU = T.CARI_KODU) AND (MONTH(TARIH) = 5) AND (YEAR(TARIH) = 2012)) > 5000) AND

                          ((SELECT     SUM(BRUTTUTAR) AS BRUT

                              FROM         dbo.TBLFATUIRS AS TBLFATUIRS_1

                              WHERE     (CARI_KODU = T.CARI_KODU) AND (MONTH(TARIH) = 5) AND (YEAR(TARIH) = 2012)) +

                          (SELECT     SUM(F_YEDEK3) AS DIGER

                            FROM          dbo.TBLFATUIRS AS TBLFATUIRS_2

                            WHERE      (CARI_KODU = T.CARI_KODU) AND (MONTH(TARIH) = 5) AND (YEAR(TARIH) = 2012)) -

                          (SELECT     SUM(SAT_ISKT) AS ISKONTO

                            FROM          dbo.TBLFATUIRS AS TBLFATUIRS_3

                            WHERE      (CARI_KODU = T.CARI_KODU) AND (MONTH(TARIH) = 5) AND (YEAR(TARIH) = 2012)) <> 0)

ORDER BY ISIM 

 
Gönderildi : 13/08/2012 19:36

(@kenanilgun)
Gönderiler: 544
Üye
 

Merhaba Özgür bey,

Datalarınız hakkındaki güvenlik seviyesini tam olarak bilmiyorum ama bu tabloyu eğer paylaşabilirseniz verdiğiniz koda istinaden düzenleme yapıp gerekli istemiş olduğunuz sonucu elde edene kadar tartışıp ihtiyacınızı görecek kodu üretmeye çalışabilirim. İyi çalışmalar. 

 
Gönderildi : 13/08/2012 19:50

(@ozguraltinel)
Gönderiler: 244
Reputable Member
Konu başlatıcı
 

Kenan Bey. 

İlginiz için teşekkürler.

Aşağıdaki gibi oldu.

 

 

SELECT     TOP (100) PERCENT T.CARI_KODU, COUNT(T.CARI_KODU) AS CARI,

                          (SELECT     SUM(BRUTTUTAR) AS BRUT

                            FROM          dbo.TBLFATUIRS AS TBLFATUIRS_1

                            WHERE      (CARI_KODU = T.CARI_KODU) AND (MONTH(TARIH) = 5) AND (YEAR(TARIH) = 2012)) +

                          (SELECT     SUM(F_YEDEK3) AS DIGER

                            FROM          dbo.TBLFATUIRS AS TBLFATUIRS_2

                            WHERE      (CARI_KODU = T.CARI_KODU) AND (MONTH(TARIH) = 5) AND (YEAR(TARIH) = 2012)) -

                          (SELECT     SUM(SAT_ISKT) AS ISKONTO

                            FROM          dbo.TBLFATUIRS AS TBLFATUIRS_3

                            WHERE      (CARI_KODU = T.CARI_KODU) AND (MONTH(TARIH) = 5) AND (YEAR(TARIH) = 2012)) AS TUTAR, 

                      REPLACE(REPLACE(REPLACE(dbo.TBLCASABIT.CARI_ISIM, 'Þ', 'Ş'), 'Ý', 'İ'), 'Ð', 'Ğ') AS ISIM, dbo.TBLCASABIT.VERGI_NUMARASI

FROM         dbo.TBLFATUIRS AS T INNER JOIN

                      dbo.TBLCASABIT ON T.CARI_KODU = dbo.TBLCASABIT.CARI_KOD

WHERE     (MONTH(T.TARIH) = 5)

GROUP BY T.CARI_KODU, REPLACE(REPLACE(REPLACE(dbo.TBLCASABIT.CARI_ISIM, 'Þ', 'Ş'), 'Ý', 'İ'), 'Ð', 'Ğ'), dbo.TBLCASABIT.VERGI_NUMARASI

HAVING      ((SELECT     SUM(BRUTTUTAR) AS BRUT

                         FROM         dbo.TBLFATUIRS AS TBLFATUIRS_1

                         WHERE     (CARI_KODU = T.CARI_KODU) AND (MONTH(TARIH) = 5) AND (YEAR(TARIH) = 2012)) +

                          (SELECT     SUM(F_YEDEK3) AS DIGER

                            FROM          dbo.TBLFATUIRS AS TBLFATUIRS_2

                            WHERE      (CARI_KODU = T.CARI_KODU) AND (MONTH(TARIH) = 5) AND (YEAR(TARIH) = 2012)) -

                          (SELECT     SUM(SAT_ISKT) AS ISKONTO

                            FROM          dbo.TBLFATUIRS AS TBLFATUIRS_3

                            WHERE      (CARI_KODU = T.CARI_KODU) AND (MONTH(TARIH) = 5) AND (YEAR(TARIH) = 2012)) > 5000) AND

                          ((SELECT     SUM(BRUTTUTAR) AS BRUT

                              FROM         dbo.TBLFATUIRS AS TBLFATUIRS_1

                              WHERE     (CARI_KODU = T.CARI_KODU) AND (MONTH(TARIH) = 5) AND (YEAR(TARIH) = 2012)) +

                          (SELECT     SUM(F_YEDEK3) AS DIGER

                            FROM          dbo.TBLFATUIRS AS TBLFATUIRS_2

                            WHERE      (CARI_KODU = T.CARI_KODU) AND (MONTH(TARIH) = 5) AND (YEAR(TARIH) = 2012)) -

                          (SELECT     SUM(SAT_ISKT) AS ISKONTO

                            FROM          dbo.TBLFATUIRS AS TBLFATUIRS_3

                            WHERE      (CARI_KODU = T.CARI_KODU) AND (MONTH(TARIH) = 5) AND (YEAR(TARIH) = 2012)) <> 0)

ORDER BY ISIM 

 
Gönderildi : 13/08/2012 19:55

(@kenanilgun)
Gönderiler: 544
Üye
 

Rica ederim Özgür bey İyi çalışmalar.

 
Gönderildi : 13/08/2012 21:28

Paylaş: