Finansal Hatırlacı Sql Sorgusu

Gönderen Konu: Finansal Hatırlacı Sql Sorgusu  (Okunma sayısı 1168 defa)

0 Üye ve 1 Ziyaretçi konuyu incelemekte.

Çevrimdışı ertline

  • Yeni Kullanıcı
  • *
  • Karma: 0
Finansal Hatırlacı Sql Sorgusu
« : 14.11.2014, 10:49 »
Merhaba arkadaşlar,
ödemeler ve tahsilatların takibi için bir rapor hazırlıyorum, sql sorgusunu yazdım ama takıldığım noktalar var

ödeme veya tahsilat açık/kapalı durumunu kontrol etmem lazım, açıkları istiyorum sadece,

bu konuda çalışması olan arkadaşlar yardım ederse sevinirim

sql sorgusu aşağıdaki gibi;

SELECT CL.CODE,CL.DEFINITION_,PY.CARDREF,PY.CLOSINGRATE,PY.DATE_,PY.PAYNO,PY.MODULENR,PY.TRCODE,PY.TOTAL,
CASE
   when PY.TRCODE =1 and PY.MODULENR=10 then 'Nakit Tahsilat'
   when PY.TRCODE =2 and PY.MODULENR=10 then 'Nakit Ödeme'
   when PY.TRCODE =11 and PY.MODULENR=10 then 'Cari Hesap Tahsilat'
   when PY.TRCODE =12 and PY.MODULENR=10 then 'Cari Hesap Ödeme'
   when PY.TRCODE =21 and PY.MODULENR=10 then 'Bankaya Yatırılan'
   when PY.TRCODE =12 and PY.MODULENR=10 then 'Bankadan Çekilen'
   when PY.TRCODE =31 and PY.MODULENR=10 then 'Satınalma Faturası'
   when PY.TRCODE =32 and PY.MODULENR=10 then 'Perakende Satış İade Faturası'
   when PY.TRCODE =33 and PY.MODULENR=10 then 'Toptan Satış İade Faturası'
   when PY.TRCODE =34 and PY.MODULENR=10 then 'Alınan Hizmet Faturası'
   when PY.TRCODE =35 and PY.MODULENR=10 then 'Satınalma İade Faturası'
   when PY.TRCODE =36 and PY.MODULENR=10 then 'Perakende Satış Faturası'
   when PY.TRCODE =37 and PY.MODULENR=10 then 'Toptan Satış Faturası'
   when PY.TRCODE =38 and PY.MODULENR=10 then 'Verilen Hizmet Faturası'
   when PY.TRCODE =39 and PY.MODULENR=10 then 'Müstahsil Makbuzu'
   when PY.TRCODE =41 and PY.MODULENR=10 then 'Muh. Tahsil'
   when PY.TRCODE =42 and PY.MODULENR=10 then 'Muh. Tediye'
   when PY.TRCODE =61 and PY.MODULENR=10 then 'Çek Tahsili'
   when PY.TRCODE =62 and PY.MODULENR=10 then 'Senet Tahsili'
   when PY.TRCODE =63 and PY.MODULENR=10 then 'Çek Ödemesi'
   when PY.TRCODE =64 and PY.MODULENR=10 then 'Senet Ödemesi'
   when PY.TRCODE =71 and PY.MODULENR=10 then 'Açılış (Borç)'
   when PY.TRCODE =72 and PY.MODULENR=10 then 'Açılış (Alacak)'
   when PY.TRCODE =73 and PY.MODULENR=10 then 'Virman (Borç)'
   when PY.TRCODE =74 and PY.MODULENR=10 then 'Virman (Alacak)'
   when PY.TRCODE =75 and PY.MODULENR=10 then 'Gider Pusulası'
   when PY.TRCODE =76 and PY.MODULENR=10 then 'Verilen Serbest Mes'
   when PY.TRCODE =77 and PY.MODULENR=10 then 'Alınan Serbest Mes'
   when PY.TRCODE =1 and PY.MODULENR =6 then 'Çek Girişi'
   when PY.TRCODE =2 and PY.MODULENR =6 then 'Senet Girişi'
   when PY.TRCODE =3 and PY.MODULENR =6 then 'Çek Çıkış Cari Hesaba'
   when PY.TRCODE =4 and PY.MODULENR =6 then 'Senet Çıkış Cari Hesaba'
   when PY.TRCODE =5 and PY.MODULENR =6 then 'Çek Çıkış Banka Tahsil'
   when PY.TRCODE =6 and PY.MODULENR =6 then 'Senet Çıkış Banka Tahsil'
   when PY.TRCODE =7 and PY.MODULENR =6 then 'Çek Çıkış Banka Teminat'
   when PY.TRCODE =8 and PY.MODULENR =6 then 'Senet Çıkış Banka Teminat'
   when PY.TRCODE =9 and PY.MODULENR =6 then 'İşlem Bordrosu Müşteri çeki'
   when PY.TRCODE =10 and PY.MODULENR =6 then 'İşlem Bordrosu Müşteri Senedi'
   when PY.TRCODE =11 and PY.MODULENR =6 then 'İşlem Bordrosu Kendi Çekimiz'
   when PY.TRCODE =12 and PY.MODULENR =6 then 'İşlem Bordrosu Kendi Senedimiz'
   when PY.TRCODE =13 and PY.MODULENR =6 then 'İşyerleri Arası İ.Bord. Müşteri Çeki'
   when PY.TRCODE =1 and PY.MODULENR =7 then 'Banka İşlem Fişi'
   when PY.TRCODE =2 and PY.MODULENR =7 then 'Banka Virman Fişi'
   when PY.TRCODE =3 and PY.MODULENR =7 then 'Gelen Havale / Eft'
   when PY.TRCODE =4 and PY.MODULENR =7 then 'Gönderilen Havale / Eft'
   when PY.TRCODE =5 and PY.MODULENR =7 then 'Banka Açılış Fişi'
   when PY.TRCODE =6 and PY.MODULENR =7 then 'Banka Kur Farkı Fişi'
   when PY.TRCODE =7 and PY.MODULENR =7 then 'Döviz Alış Belgesi'
   when PY.TRCODE =8 and PY.MODULENR =7 then 'Döviz Satış Belgesi'
   when PY.TRCODE =16 and PY.MODULENR =7 then 'Banka Alınan Hizmet Faturası'
   when PY.TRCODE =17 and PY.MODULENR =7 then 'Banka Verilen Hizmet Faturası'
   when PY.TRCODE =18 and PY.MODULENR =7 then 'Bankadan Çek Ödemesi'
   when PY.TRCODE =19 and PY.MODULENR =7 then 'Bankadan Senet Ödemesi'
   when PY.TRCODE =1 and PY.MODULENR =5 then 'Nakit Tahsilat'
   when PY.TRCODE =2 and PY.MODULENR =5 then 'Nakit Ödeme'
   when PY.TRCODE =3 and PY.MODULENR =5 then 'Borç Dekontu'
   when PY.TRCODE =4 and PY.MODULENR =5 then 'Alacak Dekontu'
   when PY.TRCODE =5 and PY.MODULENR =5 then 'Virman Işlemi'
   when PY.TRCODE =6 and PY.MODULENR =5 then 'Kur Farkı İşlemi'
   when PY.TRCODE =12 and PY.MODULENR =5 then 'Özel İşlem'
   when PY.TRCODE =20 and PY.MODULENR =5 then 'Gelen Havaleler'
   when PY.TRCODE =21 and PY.MODULENR =5 then 'Gönderilen Havaleler'
   when PY.TRCODE =31 and PY.MODULENR =5 then 'Mal Alım Faturası'
   when PY.TRCODE =32 and PY.MODULENR =5 then 'Perakende Satış İade Faturası'
   when PY.TRCODE =24 and PY.MODULENR =5 then 'Döviz Alış Belgesi'
   when PY.TRCODE =25 and PY.MODULENR =5 then 'Döviz Satış Belgesi'
   when PY.TRCODE =33 and PY.MODULENR =5 then 'Toptan Satış İade Faturası'
   when PY.TRCODE =34 and PY.MODULENR =5 then 'Alınan Hizmet Faturası'
   when PY.TRCODE =35 and PY.MODULENR =5 then 'Alınan Proforma Faturası'
   when PY.TRCODE =36 and PY.MODULENR =5 then 'Alım İade Faturası'
   when PY.TRCODE =37 and PY.MODULENR =5 then 'Perakende Satış Faturası'
   when PY.TRCODE =38 and PY.MODULENR =5 then 'Toptan Satış Faturası'
   when PY.TRCODE =39 and PY.MODULENR =5 then 'Verilen Hizmet Faturası'
   when PY.TRCODE =40 and PY.MODULENR =5 then 'Verilen Proforma Faturası'
   when PY.TRCODE =41 and PY.MODULENR =5 then 'Verilen Vade Farkı Faturası'
   when PY.TRCODE =42 and PY.MODULENR =5 then 'Alınan Vade Farkı Faturası'
   when PY.TRCODE =43 and PY.MODULENR =5 then 'Alınan Fiyat Farkı Faturası'
   when PY.TRCODE =44 and PY.MODULENR =5 then 'Verilen Fiyat Farkı Faturası'
   when PY.TRCODE =46 and PY.MODULENR =5 then 'Alınan Ser. Mes. Makbuzu'
   when PY.TRCODE =28 and PY.MODULENR =5 then 'Banka Alınan Hizmet Fat.'
   when PY.TRCODE =56 and PY.MODULENR =5 then 'Müsthsil Makbuzu'
   when PY.TRCODE =61 and PY.MODULENR =5 then 'Çek Girişi'
   when PY.TRCODE =62 and PY.MODULENR =5 then 'Senet Girişi'
   when PY.TRCODE =63 and PY.MODULENR =5 then 'Çek Çıkış Cari Hesaba'
   when PY.TRCODE =64 and PY.MODULENR =5 then 'Senet Çıkış Cari Hesaba'
   when PY.TRCODE =70 and PY.MODULENR =5 then 'Kredi Kartı Fişi'
   when PY.TRCODE =72 and PY.MODULENR =5 then 'Firma Kredi Kartı Fişi'
   when PY.TRCODE =71 and PY.MODULENR =5 then 'Kredi Kartı İade Fişi'
   when PY.TRCODE =14 and PY.MODULENR =5 then 'Açılış Fişi'
   when PY.TRCODE =2 and PY.MODULENR =4 then 'Perakende Satış İade'
   when PY.TRCODE =3 and PY.MODULENR =4 then 'Toptan Satış İade'
   when PY.TRCODE =7 and PY.MODULENR =4 then 'Perakede Satış Faturası'
   when PY.TRCODE =8 and PY.MODULENR =4 then 'Toptan Satış Faturası'
   when PY.TRCODE =9 and PY.MODULENR =4 then 'Verilen Hizmet Faturası'
   when PY.TRCODE =10 and PY.MODULENR =4 then 'Verilen Proforma Faturası'
   when PY.TRCODE =14 and PY.MODULENR =4 then 'Verilen Fiyat Farkı Faturası'
   when PY.TRCODE =1 and PY.MODULENR =4 then 'Mal Alım Faturası'
   when PY.TRCODE =4 and PY.MODULENR =4 then 'Alınan Hizmet Faturası'
   when PY.TRCODE =5 and PY.MODULENR =4 then 'Alınan Proforma Faturası'
   when PY.TRCODE =6 and PY.MODULENR =4 then 'Alım İade Faturası'
   when PY.TRCODE =13 and PY.MODULENR =4 then 'Alınan Fiyat Farkı Faturası'
   when PY.TRCODE =41 and PY.MODULENR =4 then 'Verilen Vade Farkı Faturası'
   when PY.TRCODE =42 and PY.MODULENR =4 then 'Alınan Vade Farkı Faturası'
   when PY.TRCODE =26 and PY.MODULENR =4 then 'Müstahsil Makbuzu'
   when PY.TRCODE =1 and PY.MODULENR =3 then 'Ödemeli Satış Siparişi'
   when PY.TRCODE =2 and PY.MODULENR =3 then 'Ödemeli Satınalma Siparişi'
   when PY.TRCODE =3 and PY.MODULENR =61 then 'Borç Dekontu'
   when PY.TRCODE =4 and PY.MODULENR =61 then 'Alacak Dekontu'

                     
END AS 'FIS TURU',



CASE
   when PY.TRCODE =1 and PY.MODULENR=10 then 'BOS'
   when PY.TRCODE =2 and PY.MODULENR=10 then 'BOS'
   when PY.TRCODE =11 and PY.MODULENR=10 then 'BOS'
   when PY.TRCODE =12 and PY.MODULENR=10 then 'BOS'
   when PY.TRCODE =21 and PY.MODULENR=10 then 'BOS'
   when PY.TRCODE =12 and PY.MODULENR=10 then 'BOS'
   when PY.TRCODE =31 and PY.MODULENR=10 then 'ÖDEMELER'
   when PY.TRCODE =32 and PY.MODULENR=10 then 'BOS'
   when PY.TRCODE =33 and PY.MODULENR=10 then 'BOS'
   when PY.TRCODE =34 and PY.MODULENR=10 then 'ÖDEMELER'
   when PY.TRCODE =35 and PY.MODULENR=10 then 'BOS'
   when PY.TRCODE =36 and PY.MODULENR=10 then 'TAHSİLATLAR'
   when PY.TRCODE =37 and PY.MODULENR=10 then 'TAHSİLATLAR'
   when PY.TRCODE =38 and PY.MODULENR=10 then 'TAHSİLATLAR'
   when PY.TRCODE =39 and PY.MODULENR=10 then 'BOS'
   when PY.TRCODE =41 and PY.MODULENR=10 then 'BOS'
   when PY.TRCODE =42 and PY.MODULENR=10 then 'BOS'
   when PY.TRCODE =61 and PY.MODULENR=10 then 'BOS'
   when PY.TRCODE =62 and PY.MODULENR=10 then 'BOS'
   when PY.TRCODE =63 and PY.MODULENR=10 then 'BOS'
   when PY.TRCODE =64 and PY.MODULENR=10 then 'BOS'
   when PY.TRCODE =71 and PY.MODULENR=10 then 'BOS'
   when PY.TRCODE =72 and PY.MODULENR=10 then 'BOS'
   when PY.TRCODE =73 and PY.MODULENR=10 then 'BOS'
   when PY.TRCODE =74 and PY.MODULENR=10 then 'BOS'
   when PY.TRCODE =75 and PY.MODULENR=10 then 'BOS'
   when PY.TRCODE =76 and PY.MODULENR=10 then 'BOS'
   when PY.TRCODE =77 and PY.MODULENR=10 then 'BOS'
   when PY.TRCODE =1 and PY.MODULENR =6 then 'TAHSİLATLAR'
   when PY.TRCODE =2 and PY.MODULENR =6 then 'TAHSİLATLAR'
   when PY.TRCODE =3 and PY.MODULENR =6 then 'ÖDEMELER'
   when PY.TRCODE =4 and PY.MODULENR =6 then 'ÖDEMELER'
   when PY.TRCODE =5 and PY.MODULENR =6 then 'BOS'
   when PY.TRCODE =6 and PY.MODULENR =6 then 'BOS'
   when PY.TRCODE =7 and PY.MODULENR =6 then 'ÖDEMELER'
   when PY.TRCODE =8 and PY.MODULENR =6 then 'ÖDEMELER'
   when PY.TRCODE =9 and PY.MODULENR =6 then 'BOS'
   when PY.TRCODE =10 and PY.MODULENR =6 then 'BOS'
   when PY.TRCODE =11 and PY.MODULENR =6 then 'BOS'
   when PY.TRCODE =12 and PY.MODULENR =6 then 'BOS'
   when PY.TRCODE =13 and PY.MODULENR =6 then 'BOS'
   when PY.TRCODE =1 and PY.MODULENR =7 then 'BOS'
   when PY.TRCODE =2 and PY.MODULENR =7 then 'BOS'
   when PY.TRCODE =3 and PY.MODULENR =7 then 'BOS'
   when PY.TRCODE =4 and PY.MODULENR =7 then 'BOS'
   when PY.TRCODE =5 and PY.MODULENR =7 then 'BOS'
   when PY.TRCODE =6 and PY.MODULENR =7 then 'BOS'
   when PY.TRCODE =7 and PY.MODULENR =7 then 'BOS'
   when PY.TRCODE =8 and PY.MODULENR =7 then 'BOS'
   when PY.TRCODE =16 and PY.MODULENR =7 then 'ÖDEMELER'
   when PY.TRCODE =17 and PY.MODULENR =7 then 'TAHSİLATLAR'
   when PY.TRCODE =18 and PY.MODULENR =7 then 'BOS'
   when PY.TRCODE =19 and PY.MODULENR =7 then 'BOS'
   when PY.TRCODE =1 and PY.MODULENR =5 then 'BOS'
   when PY.TRCODE =2 and PY.MODULENR =5 then 'BOS'
   when PY.TRCODE =3 and PY.MODULENR =5 then 'TAHSİLATLAR'
   when PY.TRCODE =4 and PY.MODULENR =5 then 'ÖDEMELER'
   when PY.TRCODE =5 and PY.MODULENR =5 then 'BOS'
   when PY.TRCODE =6 and PY.MODULENR =5 then 'BOS'
   when PY.TRCODE =12 and PY.MODULENR =5 then 'BOS'
   when PY.TRCODE =20 and PY.MODULENR =5 then 'BOS'
   when PY.TRCODE =21 and PY.MODULENR =5 then 'BOS'
   when PY.TRCODE =31 and PY.MODULENR =5 then 'ÖDEMELER'
   when PY.TRCODE =32 and PY.MODULENR =5 then 'BOS'
   when PY.TRCODE =24 and PY.MODULENR =5 then 'BOS'
   when PY.TRCODE =25 and PY.MODULENR =5 then 'BOS'
   when PY.TRCODE =33 and PY.MODULENR =5 then 'BOS'
   when PY.TRCODE =34 and PY.MODULENR =5 then 'ÖDEMELER'
   when PY.TRCODE =35 and PY.MODULENR =5 then 'ÖDEMELER'
   when PY.TRCODE =36 and PY.MODULENR =5 then 'BOS'
   when PY.TRCODE =37 and PY.MODULENR =5 then 'TAHSİLATLAR'
   when PY.TRCODE =38 and PY.MODULENR =5 then 'TAHSİLATLAR'
   when PY.TRCODE =39 and PY.MODULENR =5 then 'TAHSİLATLAR'
   when PY.TRCODE =40 and PY.MODULENR =5 then 'TAHSİLATLAR'
   when PY.TRCODE =41 and PY.MODULENR =5 then 'BOS'
   when PY.TRCODE =42 and PY.MODULENR =5 then 'BOS'
   when PY.TRCODE =43 and PY.MODULENR =5 then 'BOS'
   when PY.TRCODE =44 and PY.MODULENR =5 then 'BOS'
   when PY.TRCODE =46 and PY.MODULENR =5 then 'BOS'
   when PY.TRCODE =28 and PY.MODULENR =5 then 'ÖDEMELER'
   when PY.TRCODE =56 and PY.MODULENR =5 then 'BOS'
   when PY.TRCODE =61 and PY.MODULENR =5 then 'TAHSİLATLAR'
   when PY.TRCODE =62 and PY.MODULENR =5 then 'TAHSİLATLAR'
   when PY.TRCODE =63 and PY.MODULENR =5 then 'ÖDEMELER'
   when PY.TRCODE =64 and PY.MODULENR =5 then 'ÖDEMELER'
   when PY.TRCODE =70 and PY.MODULENR =5 then 'TAHSİLATLAR'
   when PY.TRCODE =72 and PY.MODULENR =5 then 'ÖDEMELER'
   when PY.TRCODE =71 and PY.MODULENR =5 then 'BOS'
   when PY.TRCODE =14 and PY.MODULENR =5 then 'BOS'
   when PY.TRCODE =2 and PY.MODULENR =4 then 'BOS'
   when PY.TRCODE =3 and PY.MODULENR =4 then 'BOS'
   when PY.TRCODE =7 and PY.MODULENR =4 then 'TAHSİLATLAR'
   when PY.TRCODE =8 and PY.MODULENR =4 then 'TAHSİLATLAR'
   when PY.TRCODE =9 and PY.MODULENR =4 then 'TAHSİLATLAR'
   when PY.TRCODE =10 and PY.MODULENR =4 then 'TAHSİLATLAR'
   when PY.TRCODE =14 and PY.MODULENR =4 then 'BOS'
   when PY.TRCODE =1 and PY.MODULENR =4 then 'ÖDEMELER'
   when PY.TRCODE =4 and PY.MODULENR =4 then 'ÖDEMELER'
   when PY.TRCODE =5 and PY.MODULENR =4 then 'ÖDEMELER'
   when PY.TRCODE =6 and PY.MODULENR =4 then 'BOS'
   when PY.TRCODE =13 and PY.MODULENR =4 then 'BOS'
   when PY.TRCODE =41 and PY.MODULENR =4 then 'BOS'
   when PY.TRCODE =42 and PY.MODULENR =4 then 'BOS'
   when PY.TRCODE =26 and PY.MODULENR =4 then 'BOS'
   when PY.TRCODE =1 and PY.MODULENR =3 then 'TAHSİLATLAR'
   when PY.TRCODE =2 and PY.MODULENR =3 then 'ÖDEMELER'
   when PY.TRCODE =3 and PY.MODULENR =61 then 'TAHSİLATLAR'
   when PY.TRCODE =4 and PY.MODULENR =61 then 'ÖDEMELER'
END AS 'TURU'

FROM LG_001_02_PAYTRANS PY INNER JOIN LG_001_CLCARD CL ON PY.CARDREF=CL.LOGICALREF


Çevrimdışı erhan2484

  • Logo Uzmanı
  • *****
  • Karma: 1
Ynt: Finansal Hatırlacı Sql Sorgusu
« Yanıtla #1 : 14.11.2014, 13:23 »
merhaba,sorguya aşağıdaki koşulu eklerseniz kapanmışlar geliyor. 
where PY.PAID BETWEEN PY.TOTAL-1 AND PY.TOTAL+1

kapanmamışlar için
where PY.PAID NOT BETWEEN PY.TOTAL-1 AND PY.TOTAL+1

belki daha kısa ve kesin yolu vardır. tablolarda kapanmış ve kapanmamış değerini veren bir sütun olabilir bilgim yok

Çevrimdışı MehmetYavuz

  • Logo Uzmanı
  • *****
  • Karma: 3
Ynt: Finansal Hatırlacı Sql Sorgusu
« Yanıtla #2 : 14.11.2014, 14:12 »
CrossRef.

...
Case When Crossref=0 then 'Kapanmamış' When Crossref<>0 then 'kapanmış' end as KapanmaDurumu,
...

Çevrimdışı ByBirol®

  • Logo Sistem Administrator
  • Logo Uzmanı
  • *****
  • Karma: 18
  • admin@artibilisim.com Logo Çözüm Ortağı
Ynt: Finansal Hatırlacı Sql Sorgusu
« Yanıtla #3 : 14.11.2014, 20:47 »
Kısmiler Nerde :)