• Merhaba Ziyaretçi,
    Microsoft 365 Uygulamaları ile ilgili yeni haberler, dikkat çekici konular, ilgi ile takip edeceğiniz yazılar için.

    Abone Olun
  • ESTE - Microsoft Office Eğitimleri

    Yeni yıl Microsoft Office Eğitim planlarınız için bütçenizi oluşturmadan önce ESTE eğitim kalitesi ile tanışın. 🙌
    Kullanıcıların ihtiyacı olan yazılı materyal, dosya ve video kaynağı desteğimiz ile tüm ofis çalışanlarının iş süreçlerini rahatlatacak eğitimler planlayın. 🎯
    Microsoft Office eğitimlerimiz hakkında detaylı bilgi için bize ulaşın.

    👉 Microsoft Office Eğitim Talebi

Yardım Aylık Satışları Satır ve Kolonlara Göre Toplama

Rahle

Yeni Üye
Katılım
20 Haz 2018
Mesajlar
137
En iyi yanıt
0
Puanları
18
Yaş
51
Konum
İstanbul
Ad Soyad
Huzeyfe Yaman
Office Vers.
Office 2010
Merhaba,
Aşağıdaki sorgu da kolon alt toplamı nasıl aldırabilirim?

Teşekkürler


SQL:
SELECT TB.*,[1]+[2]+[3]+[4]+[5]+[6]+[7]+[8]+[9]+[10]+[11]+[12]AS TOPLAM FROM (
SELECT sAciklama ,ISNULL([1],0)[1],ISNULL([2],0)[2],ISNULL([3],0)[3],ISNULL([4],0)[4],
ISNULL([5],0)[5],ISNULL([6],0)[6],ISNULL([7],0)[7],ISNULL([8],0)[8],
ISNULL([9],0)[9],ISNULL([10],0)[10],ISNULL([11],0)[11],ISNULL([12],0)[12] 
FROM(
SELECT sAciklama ,SUM([lBrutTutar]-[lIskontoTutari]) as Tutar,
MONTH([dteIslemTarihi]) as AY, YEAR([dteIslemTarihi])AS YIL
FROM TABLO
WHERE sFisTipi = 'P' AND YEAR([dteIslemTarihi]) = @YEAR
Group by sAciklama,[dteIslemTarihi]
)as TABLO
PIVOT
(SUM(Tutar)FOR AY IN([1],[2],[3],[4],[5],[6],[7],[8],[9],[10],[11],[12])) AS TBL
 )AS TB
 

eros129

Yeni Üye
Katılım
1 Şub 2020
Mesajlar
15
En iyi yanıt
1
Puanları
3
Yaş
61
Konum
ankara
Ad Soyad
Erol Göktunalı
Office Vers.
office 2019
Kullandığın sorgudan olduğu gibi VIEW oluştur. Mesela adı "AYLIK_SATIS_TOPLAM" olsun.
Genel Toplam İçin "SELECT TB,SUM(TOPLAM) AS [TOPLAM]
FROM AYLIK_SATIS_TOPLAM
GROUP BY TB"
Aylar İçin " SELECT TB,SUM(1) AS [Ocak]
FROM AYLIK_SATIS_TOPLAM
GROUP BY TB

Böyle çözülebilir sanki.
 

Rahle

Yeni Üye
Katılım
20 Haz 2018
Mesajlar
137
En iyi yanıt
0
Puanları
18
Yaş
51
Konum
İstanbul
Ad Soyad
Huzeyfe Yaman
Office Vers.
Office 2010
Merhaba,
Sizin sorguyu denedim ancak aylara göre satır ve kolon toplamı almıyor.
Yukarıda paylaştığım örnek sorguya göre düzenleme yapabilir misiniz?
Teşekkür ederim.
 

eros129

Yeni Üye
Katılım
1 Şub 2020
Mesajlar
15
En iyi yanıt
1
Puanları
3
Yaş
61
Konum
ankara
Ad Soyad
Erol Göktunalı
Office Vers.
office 2019
Merhaba,
Sizin sorguyu denedim ancak aylara göre satır ve kolon toplamı almıyor.
Yukarıda paylaştığım örnek sorguya göre düzenleme yapabilir misiniz?
Teşekkür ederim.
VIEW i oluşturdunuzmu? Birde SUM(1) bu şekilde de yazılabilir SUM([1]) sorgunuz çalışıyorsa sorun olmaması lazım.
 

Rahle

Yeni Üye
Katılım
20 Haz 2018
Mesajlar
137
En iyi yanıt
0
Puanları
18
Yaş
51
Konum
İstanbul
Ad Soyad
Huzeyfe Yaman
Office Vers.
Office 2010
Merhaba,
En başından beri bir wiew oluşturarak ilerlemeye çabalıyorum.
Sizin örneği uyarlamaya çalıştığımda aşağıdaki gibi sonuç döndü.
Nerede hata yapıyor olabilirim?
 

Ekli dosyalar

  • 1.jpg
    1.jpg
    55.7 KB · Görüntüleme: 11

eros129

Yeni Üye
Katılım
1 Şub 2020
Mesajlar
15
En iyi yanıt
1
Puanları
3
Yaş
61
Konum
ankara
Ad Soyad
Erol Göktunalı
Office Vers.
office 2019

Ekli dosyalar

  • Ekran Görüntüsü (9).png
    Ekran Görüntüsü (9).png
    159.4 KB · Görüntüleme: 24

Rahle

Yeni Üye
Katılım
20 Haz 2018
Mesajlar
137
En iyi yanıt
0
Puanları
18
Yaş
51
Konum
İstanbul
Ad Soyad
Huzeyfe Yaman
Office Vers.
Office 2010
Merhaba,
Bu sorguyu paylaşabilir misiniz?
 

eros129

Yeni Üye
Katılım
1 Şub 2020
Mesajlar
15
En iyi yanıt
1
Puanları
3
Yaş
61
Konum
ankara
Ad Soyad
Erol Göktunalı
Office Vers.
office 2019
Merhaba,
Bu sorguyu paylaşabilir misiniz?
CREATE VIEW AA_AYLIK_SATIS_TOPLAM
AS
SELECT [ELM], [CARI_ADI], ISNULL([1], 0) Ocak, ISNULL([2], 0) Subat, ISNULL([3], 0) Mart, ISNULL([4], 0) Nisan, ISNULL([5], 0) Mayis, ISNULL([6], 0) Haziran, ISNULL([7], 0) Temmuz, ISNULL([8], 0) Ağustos, ISNULL([9], 0) Eylul,
ISNULL([10], 0) Ekim, ISNULL([11], 0) Kasim, ISNULL([12], 0) Aralik, ISNULL([1], 0) + ISNULL([2], 0) + ISNULL([3], 0) + ISNULL([4], 0) + ISNULL([5], 0) + ISNULL([6], 0) + ISNULL([7], 0) + ISNULL([8], 0) + ISNULL([9], 0) + ISNULL([10],
0) + ISNULL([11], 0) + ISNULL([12], 0) TOPLAM
FROM (SELECT C.CRK AS [CARI_KODU], LEFT(C.STA, 25) AS [CARI_ADI], LEFT(C.CRK, 2) AS [ELM], FA.TUTARTL AS 'MATRAH', MONTH(FA.TARIH) AY
FROM CARIGEN C
INNER JOIN FATURA_ALT FA ON C.REF = FA.CARIREF
WHERE C.GORUNSUN = 'EVET' AND FA.IPTAL = 0 AND (FA.TUR = 60) OR
(FA.TUR = 65)) AS EROS PIVOT (SUM(MATRAH) FOR AY IN ([1], [2], [3], [4], [5], [6], [7], [8], [9], [10], [11], [12])) AS PIVOT_TABLOM
 

Rahle

Yeni Üye
Katılım
20 Haz 2018
Mesajlar
137
En iyi yanıt
0
Puanları
18
Yaş
51
Konum
İstanbul
Ad Soyad
Huzeyfe Yaman
Office Vers.
Office 2010
Merhaba,
Bu mesajdaki görseli büyüterek incelediniz mi?
 

Rahle

Yeni Üye
Katılım
20 Haz 2018
Mesajlar
137
En iyi yanıt
0
Puanları
18
Yaş
51
Konum
İstanbul
Ad Soyad
Huzeyfe Yaman
Office Vers.
Office 2010
Merhaba,
Yardım, ilginiz ve paylaşımınız için teşekkür ederim.
Sizin yukarıdaki sorguyu aşağıdaki gibi düzenledim.
Sonuç aşağıdaki gibi geldi.

SQL:
SELECT
--SATIS,
BOLGE,
ISNULL([1], 0) Ocak, ISNULL([2], 0) Subat, ISNULL([3], 0) Mart,
ISNULL([4], 0) Nisan, ISNULL([5], 0) Mayis, ISNULL([6], 0) Haziran,
ISNULL([7], 0) Temmuz, ISNULL([8], 0) Ağustos, ISNULL([9], 0) Eylul,
ISNULL([10], 0) Ekim, ISNULL([11], 0) Kasim, ISNULL([12], 0) Aralik,
ISNULL([1], 0) + ISNULL([2], 0) + ISNULL([3], 0) + ISNULL([4], 0) +
ISNULL([5], 0) + ISNULL([6], 0) + ISNULL([7], 0) + ISNULL([8], 0) +
ISNULL([9], 0) + ISNULL([10],0) + ISNULL([11], 0) + ISNULL([12], 0) TOPLAM
FROM (SELECT
BOLGE,
SUM(NET_SATIS) AS SATIS,
MONTH(SEVK_TARIHI) AS AY
FROM SEVK_IL
GROUP BY BOLGE, SEVK_TARIHI
) AS T
PIVOT
(SUM(SATIS) FOR AY IN ([1], [2], [3], [4], [5], [6], [7], [8], [9], [10], [11], [12])) AS PIVOT_TABLOM
 

Ekli dosyalar

  • 22.jpg
    22.jpg
    58.8 KB · Görüntüleme: 11

eros129

Yeni Üye
Katılım
1 Şub 2020
Mesajlar
15
En iyi yanıt
1
Puanları
3
Yaş
61
Konum
ankara
Ad Soyad
Erol Göktunalı
Office Vers.
office 2019
Merhaba,
Bu mesajdaki görseli büyüterek incelediniz mi?
Formun başında yazdığın kod çalışıyorsa gönderdiğim VIEW sonrası sorgu tüm toplamları verir.
 

eros129

Yeni Üye
Katılım
1 Şub 2020
Mesajlar
15
En iyi yanıt
1
Puanları
3
Yaş
61
Konum
ankara
Ad Soyad
Erol Göktunalı
Office Vers.
office 2019
Merhaba,
Yardım, ilginiz ve paylaşımınız için teşekkür ederim.
Sizin yukarıdaki sorguyu aşağıdaki gibi düzenledim.
Sonuç aşağıdaki gibi geldi.

SQL:
SELECT
--SATIS,
BOLGE,
ISNULL([1], 0) Ocak, ISNULL([2], 0) Subat, ISNULL([3], 0) Mart,
ISNULL([4], 0) Nisan, ISNULL([5], 0) Mayis, ISNULL([6], 0) Haziran,
ISNULL([7], 0) Temmuz, ISNULL([8], 0) Ağustos, ISNULL([9], 0) Eylul,
ISNULL([10], 0) Ekim, ISNULL([11], 0) Kasim, ISNULL([12], 0) Aralik,
ISNULL([1], 0) + ISNULL([2], 0) + ISNULL([3], 0) + ISNULL([4], 0) +
ISNULL([5], 0) + ISNULL([6], 0) + ISNULL([7], 0) + ISNULL([8], 0) +
ISNULL([9], 0) + ISNULL([10],0) + ISNULL([11], 0) + ISNULL([12], 0) TOPLAM
FROM (SELECT
BOLGE,
SUM(NET_SATIS) AS SATIS,
MONTH(SEVK_TARIHI) AS AY
FROM SEVK_IL
GROUP BY BOLGE, SEVK_TARIHI
) AS T
PIVOT
(SUM(SATIS) FOR AY IN ([1], [2], [3], [4], [5], [6], [7], [8], [9], [10], [11], [12])) AS PIVOT_TABLOM
Ne güzel olmuş işte, bunu view yap öbür sorgularla sütün toplamlarını al. :)
 

Rahle

Yeni Üye
Katılım
20 Haz 2018
Mesajlar
137
En iyi yanıt
0
Puanları
18
Yaş
51
Konum
İstanbul
Ad Soyad
Huzeyfe Yaman
Office Vers.
Office 2010
Merhaba,
Yanıtlarınız için teşekkür ederim.
SUB SELECT sorgular gibi... Tek satırda işlem bitsin istiyorum.
Yeterince hatta çok fazla WIEW var. Daha fazla çöplüğe dönmesin istiyorum.
Tek sorguda... Hatta yeni bir WIEW oluşturmadan KOLON TOPLAMLARI nasıl alabilirim?
Sorguyu inceleyebilir misiniz?

SQL:
SELECT
--SATIS,
BOLGE,
ISNULL([1], 0) Ocak, ISNULL([2], 0) Subat, ISNULL([3], 0) Mart,
ISNULL([4], 0) Nisan, ISNULL([5], 0) Mayis, ISNULL([6], 0) Haziran,
ISNULL([7], 0) Temmuz, ISNULL([8], 0) Ağustos, ISNULL([9], 0) Eylul,
ISNULL([10], 0) Ekim, ISNULL([11], 0) Kasim, ISNULL([12], 0) Aralik,
ISNULL([1], 0) + ISNULL([2], 0) + ISNULL([3], 0) + ISNULL([4], 0) +
ISNULL([5], 0) + ISNULL([6], 0) + ISNULL([7], 0) + ISNULL([8], 0) +
ISNULL([9], 0) + ISNULL([10],0) + ISNULL([11], 0) + ISNULL([12], 0) TOPLAM
FROM (SELECT
BOLGE,
SUM(NET_SATIS) AS SATIS,
MONTH(SEVK_TARIHI) AS AY
FROM SEVK_IL
GROUP BY BOLGE, SEVK_TARIHI
) AS T
PIVOT
(SUM(SATIS) FOR AY IN ([1], [2], [3], [4], [5], [6], [7], [8], [9], [10], [11], [12])) AS PIVOT_TABLOM
 

mith

Yeni Üye
Katılım
13 Nis 2020
Mesajlar
26
En iyi yanıt
0
Puanları
3
Yaş
44
Konum
İstanbul
Ad Soyad
Hasan Bastur
'UNION ALL' ile eşit sütunlu, sadece toplamları gösteren ek sorguyu eklemeyi denediniz mi
 

Rahle

Yeni Üye
Katılım
20 Haz 2018
Mesajlar
137
En iyi yanıt
0
Puanları
18
Yaş
51
Konum
İstanbul
Ad Soyad
Huzeyfe Yaman
Office Vers.
Office 2010
Merhaba,
Çözüm sandığımın aksine çok aşırı basitmiş... Satırlarca kodlarda ve wiew ler de boğulmadan...


Bu şekilde çözdüm. Size de tavsiye ederim.
 

mith

Yeni Üye
Katılım
13 Nis 2020
Mesajlar
26
En iyi yanıt
0
Puanları
3
Yaş
44
Konum
İstanbul
Ad Soyad
Hasan Bastur
Merhaba,
Çözüm sandığımın aksine çok aşırı basitmiş... Satırlarca kodlarda ve wiew ler de boğulmadan...


Bu şekilde çözdüm. Size de tavsiye ederim.
Güzel bir method'muş. hem satır hem sütun toplamını gösteriyor..
 

Rahle

Yeni Üye
Katılım
20 Haz 2018
Mesajlar
137
En iyi yanıt
0
Puanları
18
Yaş
51
Konum
İstanbul
Ad Soyad
Huzeyfe Yaman
Office Vers.
Office 2010
Bu iş için epey uğraştım. Maalesef SQL Pivot konusunda Türkçe kaynak hemen hemen hiç yok... Varsa da hem karışık hem de eksik...

Daha sonra kendi kendime dedim ki bu iş SQL uygulamasının LOGO veritabanına özel bir kodlama değil... Daha çok global... Bu yüzden global araştırdım ve dakikalar içinde çok kısa bir zamanda çok az kod satırı ile mükemmel çözdüm.

Olaylara biraz daha geniş çerçevede bakmak gerekiyor sanırım.
 

mith

Yeni Üye
Katılım
13 Nis 2020
Mesajlar
26
En iyi yanıt
0
Puanları
3
Yaş
44
Konum
İstanbul
Ad Soyad
Hasan Bastur
Bu iş için epey uğraştım. Maalesef SQL Pivot konusunda Türkçe kaynak hemen hemen hiç yok... Varsa da hem karışık hem de eksik...

Daha sonra kendi kendime dedim ki bu iş SQL uygulamasının LOGO veritabanına özel bir kodlama değil... Daha çok global... Bu yüzden global araştırdım ve dakikalar içinde çok kısa bir zamanda çok az kod satırı ile mükemmel çözdüm.

Olaylara biraz daha geniş çerçevede bakmak gerekiyor sanırım.
Kesinlikle, burada cevabını bulamadığın sql ile ilgili soruların cevaplarının büyük çoğunluğunu "stackoverflow" dan bulabilirsin. Bulamadağını da oradan sorabilirsin.
 

Rahle

Yeni Üye
Katılım
20 Haz 2018
Mesajlar
137
En iyi yanıt
0
Puanları
18
Yaş
51
Konum
İstanbul
Ad Soyad
Huzeyfe Yaman
Office Vers.
Office 2010
Biraz geç ve acı tecrübeden sonra öğrendim :( :( :(

Ama orada da LOGO veritabanına özel kodların yanıtı yok. Mesela STLINE Referansı INVOICE ile nasıl bağlanır? gibi...
 

eros129

Yeni Üye
Katılım
1 Şub 2020
Mesajlar
15
En iyi yanıt
1
Puanları
3
Yaş
61
Konum
ankara
Ad Soyad
Erol Göktunalı
Office Vers.
office 2019
Biraz geç ve acı tecrübeden sonra öğrendim :( :( :(

Ama orada da LOGO veritabanına özel kodların yanıtı yok. Mesela STLINE Referansı INVOICE ile nasıl bağlanır? gibi...
SELECT * FROM LG_XXX_XX_STLINE S,LG_XXX_XX_INVOICE I
WHERE S.INVOICEREF = I.LOGICALREF
 
Üst Alt