Genel Bilgiler
SQL Server
View
⚠️ Devirde Güncellenmeli
23.12.2025 07:15
23.12.2025 16:10
İstatistikler
0
Kod Analizi
63
Satır
0
Kullandığı
0
Kullanan
🔗
İlişki Bulunamadı
Bu nesne için henüz ilişki tanımlanmamış. İlişki Analizi sayfasından otomatik analiz başlatabilirsiniz.
Tam SQL Kodu
CREATE VIEW [dbo].[ODEME_TURLERI_VE_ADETLERI]
AS
WITH MYDATA AS
(
SELECT
CC.CODE AS [FIRMA KODU],
CC.DEFINITION_ AS [FIRMA ÜNVANI],
CASE
WHEN CL.TRCODE = 1 THEN 'NAKIT TAHSILAT'
WHEN CL.TRCODE = 20 THEN 'GELEN HAVALE'
WHEN CL.TRCODE = 61 THEN 'ÇEK GIRIS'
WHEN CL.TRCODE = 62 THEN 'SENET GIRISI'
WHEN CL.TRCODE = 70 THEN 'KREDI KARTLI ÖDEME'
END AS TYP_,
CL.TRCODE,
CL.TRANNO,
CL.TRNET AS TUTAR -- Toplanacak satis tutari kolonu olarak örnek
FROM
LG_011_08_CLFLINE AS CL
LEFT JOIN LG_011_CLCARD AS CC ON CL.CLIENTREF = CC.LOGICALREF
WHERE
CC.ACTIVE = 0
-- Hem ödeme tiplerini hem de TRCODE=38'i tek seferde çekiyoruz;
-- sorgu sonrasi gruplamada filtreleyecegiz.
AND CL.TRCODE IN (1, 20, 61, 62, 70, 38)
)
SELECT
M.[FIRMA KODU],
M.[FIRMA ÜNVANI],
-- 1) ÖDEME TÜRLERI VE ADET (TRCODE ? {1,20,61,62,70})
STUFF
(
(
SELECT
', '
+ MI.TYP_
+ '('
+ CAST(COUNT(*) AS VARCHAR(10)) -- Ayni ödeme türü için satir sayisi
+ ')'
FROM MYDATA AS MI
WHERE
MI.[FIRMA KODU] = M.[FIRMA KODU]
AND MI.[FIRMA ÜNVANI] = M.[FIRMA ÜNVANI]
AND MI.TRCODE IN (1, 20, 61, 62, 70) -- Sadece ödeme türleri
GROUP BY
MI.TYP_
FOR XML PATH('')
),
1, 2, '' -- Bastaki ", " kismini STUFF ile siliyoruz
) AS [ODEME_TURLERI_VE_ADET],
-- 2) TOPLAM SATIS TUTARI (TRCODE=38)
SUM(CASE WHEN M.TRCODE = 38 THEN M.TUTAR ELSE 0 END) AS [TOPLAM SATIS TUTARI],
-- 3) KAÇ FATURA OLDU? (TRCODE=38) --> FICHENO bazinda DISTINCT sayiyoruz
COUNT(DISTINCT CASE WHEN M.TRCODE = 38 THEN M.TRANNO END) AS [FATURA_ADEDI]
FROM MYDATA AS M
GROUP BY
M.[FIRMA KODU],
M.[FIRMA ÜNVANI];