Delphi Can

Orjinalini görmek için tıklayınız: KDV Matrah Raporu
Şu anda (Arşiv) modunu görüntülemektesiniz. Orjinal Sürümü Görüntüle internal link
Arkadaşlar Merhaba;
Bir rapor yapmaya çalıştım fakat sonuç yanlış döndürüyor yardımcı olabilir misiniz?
Rapor sonucun da çift kayıt dönüyor ve biri doğru diğeri yanlış.
Kod şöyle;
--ALTER VIEW [dbo].[_FATURAKDV_MATRAH] AS 
SELECT 
CASE WHEN STHAR_HTUR IN ('J','L') THEN 'Fatura' ELSE 'BOS' END AS FATURA_TIPI,

CASE STHAR_FTIRSIP 
			   WHEN '2' THEN ('Alış') 
			   WHEN '1' THEN ('Satış') END AS TIPI,
CASE FT.TIPI 
			   WHEN '1' THEN ('Kapalı Fatura') 
			   WHEN '2' THEN ('Açık Fatura')
              WHEN '3' THEN ('Muhtelif Fatura')
               WHEN '4' THEN ('İade Fatura')
               WHEN '5' THEN ('Zayi İade Fatura') END AS FaturaTipi,

FT.BRUTTUTAR,CS.CARI_ISIM AS CARI_UNVAN, VERGI_NUMARASI,FISNO AS FUTURA_NO,FT.GENELTOPLAM,
(CASE WHEN STHAR_GCKOD IN ('C','G') AND STHAR_HTUR IN ('J','L') AND STHAR_KDV='1' THEN STHAR_GCMIK * STHAR_NF  ELSE 0 END) AS MATRAH_KDV1,
(CASE WHEN STHAR_GCKOD IN ('C','G') AND STHAR_HTUR IN ('J','L') AND STHAR_KDV='1' THEN (STHAR_GCMIK * STHAR_NF)*0.01  ELSE 0 END) AS TUTAR_KDV1,
(CASE WHEN STHAR_GCKOD IN ('C','G') AND STHAR_HTUR IN ('J','L') AND STHAR_KDV='1' THEN 1  ELSE 1 END) AS KDV_ORAN1,
(CASE WHEN STHAR_GCKOD IN ('C','G') AND STHAR_HTUR IN ('J','L') AND STHAR_KDV='8' THEN STHAR_GCMIK * STHAR_NF  ELSE 0 END) AS MATRAH_KDV8,
(CASE WHEN STHAR_GCKOD IN ('C','G') AND STHAR_HTUR IN ('J','L') AND STHAR_KDV='8' THEN (STHAR_GCMIK * STHAR_NF)*0.08  ELSE 0 END) AS TUTAR_KDV8,
(CASE WHEN STHAR_GCKOD IN ('C','G') AND STHAR_HTUR IN ('J','L') AND STHAR_KDV='8' THEN 8  ELSE 8 END) AS KDV_ORAN2,
(CASE WHEN STHAR_GCKOD IN ('C','G') AND STHAR_HTUR IN ('J','L') AND STHAR_KDV='18' THEN STHAR_GCMIK * STHAR_NF  ELSE 0 END) AS MATRAH_KDV18,
(CASE WHEN STHAR_GCKOD IN ('C','G') AND STHAR_HTUR IN ('J','L') AND STHAR_KDV='18' THEN (STHAR_GCMIK * STHAR_NF)*0.18  ELSE 0 END) AS TUTAR_KDV18,
(CASE WHEN STHAR_GCKOD IN ('C','G') AND STHAR_HTUR IN ('J','L') AND STHAR_KDV='18' THEN 18  ELSE 18 END) AS KDV_ORAN3,

CASE WHEN STHAR_GCKOD IN ('C','G') AND STHAR_HTUR IN ('J','L') AND STHAR_KDV='1' THEN STHAR_GCMIK * STHAR_NF  ELSE 0 END + CASE WHEN STHAR_GCKOD IN ('C','G') AND STHAR_HTUR IN ('J','L') AND STHAR_KDV='8' THEN STHAR_GCMIK * STHAR_NF  ELSE 0 END + CASE WHEN STHAR_GCKOD IN ('C','G') AND STHAR_HTUR IN ('J','L') AND STHAR_KDV='18' THEN STHAR_GCMIK * STHAR_NF  ELSE 0 END AS TOPLAM
FROM TBLSTHAR SH
INNER JOIN TBLCASABIT CS ON (SH.STHAR_ACIKLAMA = CS.CARI_KOD) 
INNER JOIN TBLFATUIRS FT ON (SH.FISNO = FT.FATIRS_NO)
WHERE STHAR_HTUR IN ('J','L') AND SH.FISNO='000000000000006' AND STHAR_ACIKLAMA='270'
GO
dönen sonuc bu şekilde;
Fatura Satis Açik Fatura 1107.64000000 ALMALI GIDA 000000000000006 1307.02000000 1370.160000 13.701600 -Yanlış
Fatura Satis Açik Fatura 1557.00000000 ALMALI GIDA 000000000000006 1383.86000000 1370.160000 13.701600 -Doğru
TBLCASABIT tablosundaki açıklama alanında tuttuğunuz değerlerden kaynaklı olabilir mi? Kullandığınız tüm tablolardan ilgili select cümleciği ile verileri toplayıp paylaşırsanız daha sağlıklı olur. Gözüken 2 detay olan bir query sub-query oluşturuyor, formülün ilk seferde hataya düşme sebebi de bu olmalı.
(09-05-2019, Saat: 19:01)Abdullah ILGAZ Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız.TBLCASABIT tablosundaki açıklama alanında tuttuğunuz değerlerden kaynaklı olabilir mi? Kullandığınız tüm tablolardan ilgili select cümleciği ile verileri toplayıp paylaşırsanız daha sağlıklı olur. Gözüken 2 detay olan bir query sub-query oluşturuyor, formülün ilk seferde hataya düşme sebebi de bu olmalı.

Teşekkür ederim.
Not : Bu kodu SQL de deniyorum sonra VIEW yapıp rapor da kullanacam. 

Aslında STHAR_ACIKLAMA da CARI_KOD tutuluyor onuda değiştirdim;

Kod:
INNER JOIN TBLCASABIT CS ON (SH.STHAR_CARIKOD = CS.CARI_KOD)
Sonuç değişmedi eğer bu kısımdan bahsediyorsanız.
(CASE WHEN STHAR_GCKOD IN ('C','G')
Burası yanlış zaten
GCKOD da hem 'G' hemde 'C' olmaz ya 'G' olur yada 'C' olur
şimdi CASE De 'G' bakacak varsa Onu bir satır yazacak
sonra 'C' ye bakacak o da var ona da bir satır yazacak doğal olarak iki satır dönecek.

Mantıkta şöyle olur
(CASE WHEN STHAR_GCKOD IN ('G') ............ KDV_1 Matrah
L Tipi iade tipidir
Orada GCKOD 'G' olup HTUR 'L' olursa Satıştan iadeyi TEmsil eder
Eğer GCKOD 'C' olup HTUR 'L' olursa Alıştan İadeyi Temsil eder.
Bana kalırsa join'lerinize bakın. Kaydı çoklayan bir şeyler var. Select ifadesindeki tüm alanları remarklayın ve durumu yeniden paylaşın bizimle. Eğer hâla kayıt birden fazla ise; bu durumda join yaptığınız tabloları join koşullarına göre tek tek incelemeniz gerekiyor.
(09-05-2019, Saat: 19:01)Abdullah ILGAZ Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız.TBLCASABIT tablosundaki açıklama alanında tuttuğunuz değerlerden kaynaklı olabilir mi? Kullandığınız tüm tablolardan ilgili select cümleciği ile verileri toplayıp paylaşırsanız daha sağlıklı olur. Gözüken 2 detay olan bir query sub-query oluşturuyor, formülün ilk seferde hataya düşme sebebi de bu olmalı.

Üstadım Netsis de kümüle ettiriyorum. Tek kayıt geliyor, bu sefer de % kdv lerin  sadece bir tanesini hesaplıyor. Sonuç Beceremedim Sad
Arkadaşlar Merhaba ; SQL Kodunu bu şekilde revize ettim fakat bir türlü ORAN ları eklediğimde tek satırda gösteremedim.
Oran kısımları devre dışı bıraktığım da tek satır gösteriyor, Oran ları devreye alınca üç satır a çıkıyor. Nerde yanlışlık yapıyorum bir bakabilir misiniz?


   SELECT a.KOD2,a.fatirs_no,a.gib_fatirs_no,a.tarih, c.cari_isim,c.VERGI_DAIRESI,c.VERGI_NUMARASI,CaSek.TCKIMLIKNO, a.bruttutar, a.SAT_ISKT, (a.GEN_ISK1T+a.GEN_ISK2T+a.GEN_ISK3T) AS GENEL_ISKonto,
  a.TIPI,a.GENELTOPLAM,
  sum(CASE WHEN b.STHAR_KDV='1'THEN (b.STHAR_NF*b.STHAR_KDV*b.STHAR_GCMIK)/100 ELSE 0 END ) AS Matrah_KDV1,
 --(CASE WHEN b.STHAR_KDV='1' THEN '1'  ELSE 0 END) AS ORAN1,
  Sum(CASE WHEN b.STHAR_KDV='8' THEN (b.STHAR_NF*b.STHAR_KDV*b.STHAR_GCMIK)/100 ELSE 0 END) AS Matrah_KDV8,
 --(CASE WHEN b.STHAR_KDV='8' THEN '8'  ELSE 0 END) AS ORAN8,
  Sum(CASE WHEN b.STHAR_KDV='18' THEN (b.STHAR_NF*b.STHAR_KDV*b.STHAR_GCMIK)/100 ELSE 0 END) AS Matrah_KDV18,
 --(CASE WHEN b.STHAR_KDV='18' THEN '18'  ELSE 0 END) AS ORAN18,
  CASE a.TIPI
  WHEN '1' THEN ('Kapalı Fatura')
  WHEN '2' THEN ('Açık Fatura')
  WHEN '3' THEN ('Muhtelif Fatura')
  WHEN '4' THEN ('İade Fatura')
  WHEN '5' THEN ('Zayi İade Fatura') End As FATURATIPI,
  CASE WHEN ozk.OZELKOD=a.KOD2 THEN (ozk.ACIKLAMA) END AS Aciklama
  FROM (TBLFATUIRS as a inner join TBLSTHAR as b on a.FATIRS_NO = b.FISNO Left Join TBLOZELKOD2 AS ozk on ozk.OZELKOD=a.KOD2)
  Inner Join TBLCASABIT as c on a.cari_kodu = c.cari_kod
  Inner Join TBLCASABITEK as CaSek on CaSek.Cari_Kod = c.Cari_Kod
  WHERE a.FTIRSIP='1' AND b.FISNO='000000000001470' AND STHAR_ACIKLAMA='00098' 
  Group by ozk.ACIKLAMA,ozk.OZELKOD,a.KOD2,a.TIPI,a.fatirs_no,a.gib_fatirs_no,a.tarih, c.cari_isim,C.VERGI_DAIRESI,C.VERGI_NUMARASI,CaSek.TCKIMLIKNO, a.bruttutar, a.SAT_ISKT, (a.GEN_ISK1T+a.GEN_ISK2T+a.GEN_ISK3T), a.geneltoplam
  --,b.STHAR_KDV
(12-05-2019, Saat: 10:16)OZCANK Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız.Arkadaşlar Merhaba ; SQL Kodunu bu şekilde revize ettim fakat bir türlü ORAN ları eklediğimde tek satırda gösteremedim.
Oran kısımları devre dışı bıraktığım da tek satır gösteriyor, Oran ları devreye alınca üç satır a çıkıyor. Nerde yanlışlık yapıyorum bir bakabilir misiniz?


   SELECT a.KOD2,a.fatirs_no,a.gib_fatirs_no,a.tarih, c.cari_isim,c.VERGI_DAIRESI,c.VERGI_NUMARASI,CaSek.TCKIMLIKNO, a.bruttutar, a.SAT_ISKT, (a.GEN_ISK1T+a.GEN_ISK2T+a.GEN_ISK3T) AS GENEL_ISKonto,
  a.TIPI,a.GENELTOPLAM,
  sum(CASE WHEN b.STHAR_KDV='1'THEN (b.STHAR_NF*b.STHAR_KDV*b.STHAR_GCMIK)/100 ELSE 0 END ) AS Matrah_KDV1,
 --(CASE WHEN b.STHAR_KDV='1' THEN '1'  ELSE 0 END) AS ORAN1,
  Sum(CASE WHEN b.STHAR_KDV='8' THEN (b.STHAR_NF*b.STHAR_KDV*b.STHAR_GCMIK)/100 ELSE 0 END) AS Matrah_KDV8,
 --(CASE WHEN b.STHAR_KDV='8' THEN '8'  ELSE 0 END) AS ORAN8,
  Sum(CASE WHEN b.STHAR_KDV='18' THEN (b.STHAR_NF*b.STHAR_KDV*b.STHAR_GCMIK)/100 ELSE 0 END) AS Matrah_KDV18,
 --(CASE WHEN b.STHAR_KDV='18' THEN '18'  ELSE 0 END) AS ORAN18,
  CASE a.TIPI
  WHEN '1' THEN ('Kapalı Fatura')
  WHEN '2' THEN ('Açık Fatura')
  WHEN '3' THEN ('Muhtelif Fatura')
  WHEN '4' THEN ('İade Fatura')
  WHEN '5' THEN ('Zayi İade Fatura') End As FATURATIPI,
  CASE WHEN ozk.OZELKOD=a.KOD2 THEN (ozk.ACIKLAMA) END AS Aciklama
  FROM (TBLFATUIRS as a inner join TBLSTHAR as b on a.FATIRS_NO = b.FISNO Left Join TBLOZELKOD2 AS ozk on ozk.OZELKOD=a.KOD2)
  Inner Join TBLCASABIT as c on a.cari_kodu = c.cari_kod
  Inner Join TBLCASABITEK as CaSek on CaSek.Cari_Kod = c.Cari_Kod
  WHERE a.FTIRSIP='1' AND b.FISNO='000000000001470' AND STHAR_ACIKLAMA='00098' 
  Group by ozk.ACIKLAMA,ozk.OZELKOD,a.KOD2,a.TIPI,a.fatirs_no,a.gib_fatirs_no,a.tarih, c.cari_isim,C.VERGI_DAIRESI,C.VERGI_NUMARASI,CaSek.TCKIMLIKNO, a.bruttutar, a.SAT_ISKT, (a.GEN_ISK1T+a.GEN_ISK2T+a.GEN_ISK3T), a.geneltoplam
  --,b.STHAR_KDV


Cümleyi Bu Şekilde Değiştirin.
Yazdığınız sorguda zaten birden fazla gelmeme gibi bir durum olmaz ama
ben bir üstte bu kez aslında 1 satırda kdv si gelip diğer satırda sıfır gelenleri topladım toplamda değişim olmaz

 SELECT TUM.FATIRS_NO,TUM.KOD2,TUM.GIB_FATIRS_NO,TUM.TARIH,TUM.CARI_ISIM,TUM.VERGI_DAIRESI,TUM.VERGI_NUMARASI
 ,TUM.TCKIMLIKNO,TUM.BRUTTUTAR,TUM.SAT_ISKT,TUM.GENEL_ISKonto,TUM.TIPI,TUM.GENELTOPLAM,SUM(TUM.Matrah_KDV1) AS Matrah_KDV1
 ,SUM(TUM.ORAN1) AS ORAN1,SUM(TUM.Matrah_KDV8) AS Matrah_KDV8 ,SUM(TUM.Matrah_KDV18) AS Matrah_KDV18 ,SUM(TUM.ORAN8) AS ORAN8 ,SUM(TUM.ORAN18) AS ORAN18,TUM.FATURATIPI,TUM.Aciklama
  FROM (
SELECT a.KOD2,a.fatirs_no,a.gib_fatirs_no,a.tarih, c.cari_isim,c.VERGI_DAIRESI,c.VERGI_NUMARASI,CaSek.TCKIMLIKNO, a.bruttutar, a.SAT_ISKT, (a.GEN_ISK1T+a.GEN_ISK2T+a.GEN_ISK3T) AS GENEL_ISKonto,
 a.TIPI,a.GENELTOPLAM,
 sum(CASE WHEN b.STHAR_KDV='1'THEN (b.STHAR_NF*b.STHAR_KDV*b.STHAR_GCMIK)/100 ELSE 0 END ) AS Matrah_KDV1,
(CASE WHEN b.STHAR_KDV='1' THEN '1'  ELSE 0 END) AS ORAN1,
 Sum(CASE WHEN b.STHAR_KDV='8' THEN (b.STHAR_NF*b.STHAR_KDV*b.STHAR_GCMIK)/100 ELSE 0 END) AS Matrah_KDV8,
(CASE WHEN b.STHAR_KDV='8' THEN '8'  ELSE 0 END) AS ORAN8,
 Sum(CASE WHEN b.STHAR_KDV='18' THEN (b.STHAR_NF*b.STHAR_KDV*b.STHAR_GCMIK)/100 ELSE 0 END) AS Matrah_KDV18,
(CASE WHEN b.STHAR_KDV='18' THEN '18'  ELSE 0 END) AS ORAN18,
 CASE a.TIPI
 WHEN '1' THEN ('Kapalı Fatura')
 WHEN '2' THEN ('Açık Fatura')
 WHEN '3' THEN ('Muhtelif Fatura')
 WHEN '4' THEN ('İade Fatura')
 WHEN '5' THEN ('Zayi İade Fatura') End As FATURATIPI,
 CASE WHEN ozk.OZELKOD=a.KOD2 THEN (ozk.ACIKLAMA) END AS Aciklama
 FROM (TBLFATUIRS  as a WITH(NOLOCK) inner join TBLSTHAR  as b WITH(NOLOCK) on a.FATIRS_NO = b.FISNO Left Join TBLOZELKOD2 AS ozk on ozk.OZELKOD=a.KOD2)
 Inner Join TBLCASABIT as c on a.cari_kodu = c.cari_kod
 Inner Join TBLCASABITEK as CaSek on CaSek.Cari_Kod = c.Cari_Kod
 WHERE a.FTIRSIP='1' AND b.FISNO='000000000029892' --AND STHAR_ACIKLAMA='00098'
 Group by ozk.ACIKLAMA  ,ozk.OZELKOD,a.KOD2,a.TIPI,a.fatirs_no,a.gib_fatirs_no,a.tarih,
  c.cari_isim,C.VERGI_DAIRESI,C.VERGI_NUMARASI,CaSek.TCKIMLIKNO, a.bruttutar, a.SAT_ISKT, (a.GEN_ISK1T+a.GEN_ISK2T+a.GEN_ISK3T), a.geneltoplam
 ,b.STHAR_KDV) AS TUM
 GROUP BY TUM.FATIRS_NO,TUM.KOD2,TUM.GIB_FATIRS_NO,TUM.TARIH,TUM.CARI_ISIM,TUM.VERGI_DAIRESI,TUM.VERGI_NUMARASI
 ,TUM.TCKIMLIKNO,TUM.BRUTTUTAR,TUM.SAT_ISKT,TUM.GENEL_ISKonto,TUM.TIPI,TUM.GENELTOPLAM
 ,TUM.FATURATIPI,TUM.Aciklama
(13-05-2019, Saat: 03:36)FiRewaLL Kardeşim Allah senden razı olsun.Yüreğine sağlık şu ramazan da çok dua aldın benden 3 gündür buna uğraşıyordum.  Kod değiştirdiğin gibi çalıştı. Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız.
(12-05-2019, Saat: 10:16)OZCANK Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız.Arkadaşlar Merhaba ; SQL Kodunu bu şekilde revize ettim fakat bir türlü ORAN ları eklediğimde tek satırda gösteremedim.
Oran kısımları devre dışı bıraktığım da tek satır gösteriyor, Oran ları devreye alınca üç satır a çıkıyor. Nerde yanlışlık yapıyorum bir bakabilir misiniz?


   SELECT a.KOD2,a.fatirs_no,a.gib_fatirs_no,a.tarih, c.cari_isim,c.VERGI_DAIRESI,c.VERGI_NUMARASI,CaSek.TCKIMLIKNO, a.bruttutar, a.SAT_ISKT, (a.GEN_ISK1T+a.GEN_ISK2T+a.GEN_ISK3T) AS GENEL_ISKonto,
  a.TIPI,a.GENELTOPLAM,
  sum(CASE WHEN b.STHAR_KDV='1'THEN (b.STHAR_NF*b.STHAR_KDV*b.STHAR_GCMIK)/100 ELSE 0 END ) AS Matrah_KDV1,
 --(CASE WHEN b.STHAR_KDV='1' THEN '1'  ELSE 0 END) AS ORAN1,
  Sum(CASE WHEN b.STHAR_KDV='8' THEN (b.STHAR_NF*b.STHAR_KDV*b.STHAR_GCMIK)/100 ELSE 0 END) AS Matrah_KDV8,
 --(CASE WHEN b.STHAR_KDV='8' THEN '8'  ELSE 0 END) AS ORAN8,
  Sum(CASE WHEN b.STHAR_KDV='18' THEN (b.STHAR_NF*b.STHAR_KDV*b.STHAR_GCMIK)/100 ELSE 0 END) AS Matrah_KDV18,
 --(CASE WHEN b.STHAR_KDV='18' THEN '18'  ELSE 0 END) AS ORAN18,
  CASE a.TIPI
  WHEN '1' THEN ('Kapalı Fatura')
  WHEN '2' THEN ('Açık Fatura')
  WHEN '3' THEN ('Muhtelif Fatura')
  WHEN '4' THEN ('İade Fatura')
  WHEN '5' THEN ('Zayi İade Fatura') End As FATURATIPI,
  CASE WHEN ozk.OZELKOD=a.KOD2 THEN (ozk.ACIKLAMA) END AS Aciklama
  FROM (TBLFATUIRS as a inner join TBLSTHAR as b on a.FATIRS_NO = b.FISNO Left Join TBLOZELKOD2 AS ozk on ozk.OZELKOD=a.KOD2)
  Inner Join TBLCASABIT as c on a.cari_kodu = c.cari_kod
  Inner Join TBLCASABITEK as CaSek on CaSek.Cari_Kod = c.Cari_Kod
  WHERE a.FTIRSIP='1' AND b.FISNO='000000000001470' AND STHAR_ACIKLAMA='00098' 
  Group by ozk.ACIKLAMA,ozk.OZELKOD,a.KOD2,a.TIPI,a.fatirs_no,a.gib_fatirs_no,a.tarih, c.cari_isim,C.VERGI_DAIRESI,C.VERGI_NUMARASI,CaSek.TCKIMLIKNO, a.bruttutar, a.SAT_ISKT, (a.GEN_ISK1T+a.GEN_ISK2T+a.GEN_ISK3T), a.geneltoplam
  --,b.STHAR_KDV


Cümleyi Bu Şekilde Değiştirin.
Yazdığınız sorguda zaten birden fazla gelmeme gibi bir durum olmaz ama
ben bir üstte bu kez aslında 1 satırda kdv si gelip diğer satırda sıfır gelenleri topladım toplamda değişim olmaz

 SELECT TUM.FATIRS_NO,TUM.KOD2,TUM.GIB_FATIRS_NO,TUM.TARIH,TUM.CARI_ISIM,TUM.VERGI_DAIRESI,TUM.VERGI_NUMARASI
 ,TUM.TCKIMLIKNO,TUM.BRUTTUTAR,TUM.SAT_ISKT,TUM.GENEL_ISKonto,TUM.TIPI,TUM.GENELTOPLAM,SUM(TUM.Matrah_KDV1) AS Matrah_KDV1
 ,SUM(TUM.ORAN1) AS ORAN1,SUM(TUM.Matrah_KDV8) AS Matrah_KDV8 ,SUM(TUM.Matrah_KDV18) AS Matrah_KDV18 ,SUM(TUM.ORAN8) AS ORAN8 ,SUM(TUM.ORAN18) AS ORAN18,TUM.FATURATIPI,TUM.Aciklama
  FROM (
SELECT a.KOD2,a.fatirs_no,a.gib_fatirs_no,a.tarih, c.cari_isim,c.VERGI_DAIRESI,c.VERGI_NUMARASI,CaSek.TCKIMLIKNO, a.bruttutar, a.SAT_ISKT, (a.GEN_ISK1T+a.GEN_ISK2T+a.GEN_ISK3T) AS GENEL_ISKonto,
 a.TIPI,a.GENELTOPLAM,
 sum(CASE WHEN b.STHAR_KDV='1'THEN (b.STHAR_NF*b.STHAR_KDV*b.STHAR_GCMIK)/100 ELSE 0 END ) AS Matrah_KDV1,
(CASE WHEN b.STHAR_KDV='1' THEN '1'  ELSE 0 END) AS ORAN1,
 Sum(CASE WHEN b.STHAR_KDV='8' THEN (b.STHAR_NF*b.STHAR_KDV*b.STHAR_GCMIK)/100 ELSE 0 END) AS Matrah_KDV8,
(CASE WHEN b.STHAR_KDV='8' THEN '8'  ELSE 0 END) AS ORAN8,
 Sum(CASE WHEN b.STHAR_KDV='18' THEN (b.STHAR_NF*b.STHAR_KDV*b.STHAR_GCMIK)/100 ELSE 0 END) AS Matrah_KDV18,
(CASE WHEN b.STHAR_KDV='18' THEN '18'  ELSE 0 END) AS ORAN18,
 CASE a.TIPI
 WHEN '1' THEN ('Kapalı Fatura')
 WHEN '2' THEN ('Açık Fatura')
 WHEN '3' THEN ('Muhtelif Fatura')
 WHEN '4' THEN ('İade Fatura')
 WHEN '5' THEN ('Zayi İade Fatura') End As FATURATIPI,
 CASE WHEN ozk.OZELKOD=a.KOD2 THEN (ozk.ACIKLAMA) END AS Aciklama
 FROM (TBLFATUIRS  as a WITH(NOLOCK) inner join TBLSTHAR  as b WITH(NOLOCK) on a.FATIRS_NO = b.FISNO Left Join TBLOZELKOD2 AS ozk on ozk.OZELKOD=a.KOD2)
 Inner Join TBLCASABIT as c on a.cari_kodu = c.cari_kod
 Inner Join TBLCASABITEK as CaSek on CaSek.Cari_Kod = c.Cari_Kod
 WHERE a.FTIRSIP='1' AND b.FISNO='000000000029892' --AND STHAR_ACIKLAMA='00098'
 Group by ozk.ACIKLAMA  ,ozk.OZELKOD,a.KOD2,a.TIPI,a.fatirs_no,a.gib_fatirs_no,a.tarih,
  c.cari_isim,C.VERGI_DAIRESI,C.VERGI_NUMARASI,CaSek.TCKIMLIKNO, a.bruttutar, a.SAT_ISKT, (a.GEN_ISK1T+a.GEN_ISK2T+a.GEN_ISK3T), a.geneltoplam
 ,b.STHAR_KDV) AS TUM
 GROUP BY TUM.FATIRS_NO,TUM.KOD2,TUM.GIB_FATIRS_NO,TUM.TARIH,TUM.CARI_ISIM,TUM.VERGI_DAIRESI,TUM.VERGI_NUMARASI
 ,TUM.TCKIMLIKNO,TUM.BRUTTUTAR,TUM.SAT_ISKT,TUM.GENEL_ISKonto,TUM.TIPI,TUM.GENELTOPLAM
 ,TUM.FATURATIPI,TUM.Aciklama
Allah Sizden de razı olsun. İyi Çalışmalar Wink