- Katılım
- 20 Haziran 2008
- Mesajlar
- 697
- Excel Vers. ve Dili
- Microsoft Office ev ve iş 2019
- Altın Üyelik Bitiş Tarihi
- 03-07-2024
Arkadaşlar merhaba;
Chat GPT' ye revize ettirdiğim SQL sorgumu örnek olması fikir vermesi açısından sizinle paylaşmak istedim. Bu sorguda ilgili tablolardan borç-alacağı çekip (Borç-ALacak) şeklinde yürüyen bakiye oluşturuyor. Ayrıca fatura valör tarihine göre vadesi geçen günü, Vadesi geçen tutarı (gün büyükse sıfırdan) vadesi dolmamış tutarı (gün küçükse sıfırdan) ayrı kolonlara yazmaktadır. ekte ekran çıktısı resim olarak da ekledim.
Ben sorguyu excele bağladım A1 fşrma koduna göre sorgu oto çalışmakta. Fikir vermesi açısından güzel bir proje oldu lazım olan arkadaşlar kodu aşağıda paylaşıyorum yararlanabilirler.
WITH CTE AS (
SELECT
KOD ,
TARIH AS [FATURA TARİHİ],
ACIKLAMA,
VALORTARIH AS [VALORTARIH],
BORCFIYAT AS [BORCFIYAT],
ALACAKFIYAT AS [ALACAKFIYAT],
SUM(BORCFIYAT - ALACAKFIYAT) OVER (ORDER BY TARIH) AS YuruyenBakiye,
DATEDIFF(DAY, VALORTARIH, GETDATE()) AS GecenGun
FROM CARI10T
WHERE KOD LIKE '%A-01-290%'
)
SELECT
KOD AS [Cari Kodu],
[FATURA TARİHİ] AS [Fat.Tarihi],
ACIKLAMA AS [Açıklama],
[VALORTARIH] AS [Vade Tarihi],
[BORCFIYAT] AS [Borç],
[ALACAKFIYAT] AS [Alacak],
YuruyenBakiye AS [Bakiye],
GecenGun AS [V.Geçen Gün],
CASE WHEN GecenGun > 0 THEN YuruyenBakiye ELSE 0 END AS [Vadesi Geçen Tutar],
CASE WHEN GecenGun < 0 THEN YuruyenBakiye ELSE 0 END AS [Vadesi Dolmamış Tutar]
FROM CTE
UNION ALL
SELECT
'Toplam Borç' AS [Cari Kodu],
NULL AS [Fat.Tarihi],
NULL AS [Açıklama],
NULL AS [Vade Tarihi],
COALESCE(SUM(BORCFIYAT), 0) AS [Borç],
NULL AS [Alacak],
NULL AS [Bakiye],
NULL AS [V.Geçen Gün],
NULL AS [Vadesi Geçen Tutar],
NULL AS [Vadesi Dolmamış Tutar]
FROM CTE
UNION ALL
SELECT
'Toplam Alacak' AS [Cari Kodu],
NULL AS [Fat.Tarihi],
NULL AS [Açıklama],
NULL AS [Vade Tarihi],
NULL AS [Borç],
COALESCE(SUM(ALACAKFIYAT), 0) AS [Alacak],
NULL AS [Bakiye],
NULL AS [V.Geçen Gün],
NULL AS [Vadesi Geçen Tutar],
NULL AS [Vadesi Dolmamış Tutar]
FROM CTE
UNION ALL
SELECT
'Kalan Bakiye' AS [Cari Kodu],
NULL AS [Fat.Tarihi],
NULL AS [Açıklama],
NULL AS [Vade Tarihi],
COALESCE(SUM(BORCFIYAT - ALACAKFIYAT), 0) AS [Borç],
NULL AS [Alacak],
NULL AS [Bakiye],
NULL AS [V.Geçen Gün],
NULL AS [Vadesi Geçen Tutar],
NULL AS [Vadesi Dolmamış Tutar]
FROM CTE
ORDER BY [Fat.Tarihi] ASC, [Cari Kodu]
Chat GPT' ye revize ettirdiğim SQL sorgumu örnek olması fikir vermesi açısından sizinle paylaşmak istedim. Bu sorguda ilgili tablolardan borç-alacağı çekip (Borç-ALacak) şeklinde yürüyen bakiye oluşturuyor. Ayrıca fatura valör tarihine göre vadesi geçen günü, Vadesi geçen tutarı (gün büyükse sıfırdan) vadesi dolmamış tutarı (gün küçükse sıfırdan) ayrı kolonlara yazmaktadır. ekte ekran çıktısı resim olarak da ekledim.
Ben sorguyu excele bağladım A1 fşrma koduna göre sorgu oto çalışmakta. Fikir vermesi açısından güzel bir proje oldu lazım olan arkadaşlar kodu aşağıda paylaşıyorum yararlanabilirler.
WITH CTE AS (
SELECT
KOD ,
TARIH AS [FATURA TARİHİ],
ACIKLAMA,
VALORTARIH AS [VALORTARIH],
BORCFIYAT AS [BORCFIYAT],
ALACAKFIYAT AS [ALACAKFIYAT],
SUM(BORCFIYAT - ALACAKFIYAT) OVER (ORDER BY TARIH) AS YuruyenBakiye,
DATEDIFF(DAY, VALORTARIH, GETDATE()) AS GecenGun
FROM CARI10T
WHERE KOD LIKE '%A-01-290%'
)
SELECT
KOD AS [Cari Kodu],
[FATURA TARİHİ] AS [Fat.Tarihi],
ACIKLAMA AS [Açıklama],
[VALORTARIH] AS [Vade Tarihi],
[BORCFIYAT] AS [Borç],
[ALACAKFIYAT] AS [Alacak],
YuruyenBakiye AS [Bakiye],
GecenGun AS [V.Geçen Gün],
CASE WHEN GecenGun > 0 THEN YuruyenBakiye ELSE 0 END AS [Vadesi Geçen Tutar],
CASE WHEN GecenGun < 0 THEN YuruyenBakiye ELSE 0 END AS [Vadesi Dolmamış Tutar]
FROM CTE
UNION ALL
SELECT
'Toplam Borç' AS [Cari Kodu],
NULL AS [Fat.Tarihi],
NULL AS [Açıklama],
NULL AS [Vade Tarihi],
COALESCE(SUM(BORCFIYAT), 0) AS [Borç],
NULL AS [Alacak],
NULL AS [Bakiye],
NULL AS [V.Geçen Gün],
NULL AS [Vadesi Geçen Tutar],
NULL AS [Vadesi Dolmamış Tutar]
FROM CTE
UNION ALL
SELECT
'Toplam Alacak' AS [Cari Kodu],
NULL AS [Fat.Tarihi],
NULL AS [Açıklama],
NULL AS [Vade Tarihi],
NULL AS [Borç],
COALESCE(SUM(ALACAKFIYAT), 0) AS [Alacak],
NULL AS [Bakiye],
NULL AS [V.Geçen Gün],
NULL AS [Vadesi Geçen Tutar],
NULL AS [Vadesi Dolmamış Tutar]
FROM CTE
UNION ALL
SELECT
'Kalan Bakiye' AS [Cari Kodu],
NULL AS [Fat.Tarihi],
NULL AS [Açıklama],
NULL AS [Vade Tarihi],
COALESCE(SUM(BORCFIYAT - ALACAKFIYAT), 0) AS [Borç],
NULL AS [Alacak],
NULL AS [Bakiye],
NULL AS [V.Geçen Gün],
NULL AS [Vadesi Geçen Tutar],
NULL AS [Vadesi Dolmamış Tutar]
FROM CTE
ORDER BY [Fat.Tarihi] ASC, [Cari Kodu]