Özet Tablo için AY Filtre'ye, FT satırlara, BA sütunlara, MATRAH,KDV ve TUTAR değerler'e konuyor.
CREATE VIEW [dbo].[MY_KDV] AS
--ALIS/SATIS FT.IADE ALIS/IADE SATIS FT
SELECT CONVERT(VARCHAR(5),TARIH,2) AY,CASE WHEN TIPI <> 4 THEN
CASE FTIRSIP
WHEN '1' THEN CASE WHEN C.STOK_KODU NOT LIKE 'HIZ%' THEN 'SFT' ELSE 'SF2' END
WHEN '2' THEN CASE WHEN C.STOK_KODU NOT LIKE 'HIZ%' THEN 'AFT' ELSE 'AF2' END
WHEN '3' THEN 'SIR'
WHEN '4' THEN 'AIR'
ELSE FTIRSIP END
ELSE CASE FTIRSIP
WHEN '1' THEN 'A-FT'
WHEN '2' THEN 'S-FT'
WHEN '3' THEN 'A-IR'
WHEN '4' THEN 'S-IR'
ELSE FTIRSIP END
END FT,
CASE WHEN FTIRSIP LIKE '[24]' THEN 'B' ELSE 'A' END BA,
--(GENELTOPLAM - KDV) MATRAH,KDV,CASE WHEN FTIRSIP LIKE '[24]' THEN KDV ELSE -KDV END KDV1,GENELTOPLAM TUTAR,
SUM(ROUND(ABS(STHAR_NF) * (CASE WHEN STHAR_GCMIK=0 THEN 1 ELSE STHAR_GCMIK END),2)) MATRAH,
SUM(ROUND(ABS(STHAR_NF) * STHAR_KDV/100 * (CASE WHEN STHAR_GCMIK=0 THEN 1 ELSE STHAR_GCMIK END),2)) KDV,
CASE WHEN FTIRSIP LIKE '[24]' THEN SUM(ROUND(ABS(STHAR_NF) * STHAR_KDV/100 * (CASE WHEN STHAR_GCMIK=0 THEN 1 ELSE STHAR_GCMIK END),2))
ELSE SUM(-1 * ROUND(ABS(STHAR_NF) * STHAR_KDV/100 * (CASE WHEN STHAR_GCMIK=0 THEN 1 ELSE STHAR_GCMIK END),2)) END KDV1,
SUM(ROUND(ABS(STHAR_NF) * (1+STHAR_KDV/100) * (CASE WHEN STHAR_GCMIK=0 THEN 1 ELSE STHAR_GCMIK END),2)) TUTAR,
TARIH,FATIRS_NO,CARI_ISIM
FROM TBLFATUIRS A
JOIN TBLCASABIT B ON A.CARI_KODU=B.CARI_KOD
JOIN TBLSTHAR C ON A.FTIRSIP=C.STHAR_FTIRSIP AND A.FATIRS_NO=C.FISNO AND A.CARI_KODU=C.STHAR_ACIKLAMA
WHERE FTIRSIP LIKE '[1-4]' AND /*KDV > 0 and*/ ISNULL(A.ACIKLAMA,'') <> '-KDV' AND C.STHAR_HTUR<>'N'
GROUP BY A.FTIRSIP,CONVERT(VARCHAR(5),TARIH,2),CASE WHEN TIPI <> 4 THEN
CASE FTIRSIP
WHEN '1' THEN CASE WHEN C.STOK_KODU NOT LIKE 'HIZ%' THEN 'SFT' ELSE 'SF2' END
WHEN '2' THEN CASE WHEN C.STOK_KODU NOT LIKE 'HIZ%' THEN 'AFT' ELSE 'AF2' END
WHEN '3' THEN 'SIR'
WHEN '4' THEN 'AIR'
ELSE FTIRSIP END
ELSE CASE FTIRSIP
WHEN '1' THEN 'A-FT'
WHEN '2' THEN 'S-FT'
WHEN '3' THEN 'A-IR'
WHEN '4' THEN 'S-IR'
ELSE FTIRSIP END
END,
CASE WHEN FTIRSIP LIKE '[24]' THEN 'B' ELSE 'A' END,TARIH,FATIRS_NO,CARI_ISIM
--ALISTA FAT_ALTM1 <> 0 OLANLAR
UNION ALL
SELECT CONVERT(VARCHAR(5),TARIH,2) AY,CASE WHEN TIPI <> 4 THEN
CASE FTIRSIP
WHEN 1 THEN 'SFT'
WHEN 2 THEN 'AFT'
WHEN 3 THEN 'SIR'
WHEN 4 THEN 'AIR'
ELSE '' END
ELSE CASE FTIRSIP
WHEN 1 THEN 'A-FT'
WHEN 2 THEN 'S-FT'
WHEN 3 THEN 'A-IR'
WHEN 4 THEN 'S-IR'
ELSE '' END
END FT,
CASE WHEN FTIRSIP LIKE '[24]' THEN 'B' ELSE 'A' END BA,
--(GENELTOPLAM - KDV) MATRAH,KDV,CASE WHEN FTIRSIP LIKE '[24]' THEN KDV ELSE -KDV END KDV1,GENELTOPLAM TUTAR,
FAT_ALTM1 MATRAH, ROUND(FAT_ALTM1*0.18,2) KDV, CASE WHEN FTIRSIP LIKE '[24]' THEN ROUND(FAT_ALTM1*0.18,2) ELSE -ROUND(FAT_ALTM1*0.18,2) END KDV1, FAT_ALTM1 + ROUND(FAT_ALTM1*0.18,2) TUTAR,
TARIH,FATIRS_NO,CARI_ISIM
FROM TBLFATUIRS A
JOIN TBLCASABIT B ON A.CARI_KODU=B.CARI_KOD
WHERE FTIRSIP='2' AND KDV > 0 and ISNULL(A.ACIKLAMA,'') <> '-KDV' AND FAT_ALTM1 <> 0
--DEKONTLAR
UNION ALL
SELECT CONVERT(VARCHAR(5),TARIH,2),'MAS','B',
CASE WHEN YEDEK3 > 0 THEN TUTAR ELSE ROUND(TUTAR/(KDV_ORAN)*100,2) END, --MATRAH
CASE WHEN YEDEK3 > 0 THEN YEDEK3 ELSE TUTAR END, CASE WHEN YEDEK3 > 0 THEN YEDEK3 ELSE TUTAR END, --KDV
(CASE WHEN YEDEK3 > 0 THEN TUTAR ELSE ROUND(TUTAR/(KDV_ORAN)*100,2) END) + (CASE WHEN YEDEK3 > 0 THEN YEDEK3 ELSE TUTAR END),
--TUTAR,YEDEK3,YEDEK3,TUTAR + YEDEK3,
TARIH,FISNO,SERI_NO+'-'+CONVERT(VARCHAR(10),DEKONT_NO) + ' '+ COALESCE(SUBSTRING(ACIKLAMA2,5,50),SUBSTRING(ACIKLAMA1,LEN(SERI_NO+'/'+CAST(DEKONT_NO AS VARCHAR))+2,50))
FROM TBLDEKOTRA
WHERE KDV_ORAN > 0 and B_A='B' AND SERI_NO<>'FT' AND ISNULL(GENEL_KDV,'')<>'G'
UNION ALL
SELECT CONVERT(VARCHAR(5),TARIH,2),'MAS','B',
CASE WHEN YEDEK3 > 0 THEN TUTAR ELSE ROUND(TUTAR/(KDV_ORAN)*100,2) END, --MATRAH
CASE WHEN YEDEK3 > 0 THEN YEDEK3 ELSE TUTAR END, CASE WHEN YEDEK3 > 0 THEN YEDEK3 ELSE TUTAR END, --KDV
(CASE WHEN YEDEK3 > 0 THEN TUTAR ELSE ROUND(TUTAR/(KDV_ORAN)*100,2) END) + (CASE WHEN YEDEK3 > 0 THEN YEDEK3 ELSE TUTAR END),
--TUTAR,YEDEK3,YEDEK3,TUTAR + YEDEK3,
TARIH,FISNO, SERI_NO+'-'+CONVERT(VARCHAR(10),DEKONT_NO)+' '+COALESCE(SUBSTRING(ACIKLAMA2,5,50),SUBSTRING(ACIKLAMA1,LEN(SERI_NO+'/'+CAST(DEKONT_NO AS VARCHAR))+2,50))
FROM TBLDEKOTRA
WHERE KDV_ORAN > 0 and B_A='B' AND SERI_NO='FT' AND GENEL_KDV='K'
--KASA
UNION ALL
SELECT CONVERT(VARCHAR(5),TARIH,2),'MAS',CASE WHEN IO='C' THEN 'B' ELSE 'A' END,
ROUND(YEDEK5/(KDV_ORAN)*100,2),YEDEK5,CASE WHEN IO='C' THEN YEDEK5 ELSE -YEDEK5 END,
ROUND(YEDEK5/(KDV_ORAN)*100,2)+YEDEK5,TARIH,FISNO,
'KS'+RIGHT(KSMAS_KOD,1)+'-'+FISNO +' '+ SUBSTRING(ACIKLAMA,PATINDEX('%/%',ACIKLAMA)+1,100)
FROM TBLKASA
WHERE YEDEK5>0
--MY_KDV ORDER BY AY,FT,BA DESC,FATIRS_NO,CARI_ISIM
GO
devir için bu view'ı sorguda kullanan başka bir dış veri al sayfası hazırlıyorum
Bu kadar ....
yazdıklarım özetle, bir view yaratmak.
bu view ile özet tablo yapmak.
yeni bir sayfada; view'dan yararlanıp, dışveri al ile tablo oluştur. (aylık devir rakamlarını hesaplamak için.) bu Tabloda yürüyen toplam ile devir rakamlarını hesaplarsınız.
bu sütundaki veriyi düşeyara ile Özettablo sayfasında gösterdim.