以下では、これらの条件を介してリストを取得しています。
最新の支払い日が入力された日付よりも大きく、選択された支払いタイプ (現金、小切手、クレジット カードなど) のみのお客様
親愛なるゴードン・リノフは以前、Row_number
セクションとクエリの作業を使用するのを手伝ってくれました。
しかし、今日、私たちは奇妙な状況にあります。顧客が私たちに支払いを送っていないことがわかったときに、クエリはリストワンドに顧客を取得しません。そのため、クエリは最後の支払いレコードを見つけられず、このためリストに表示されません。
問題は...顧客が以前に支払いを行っていない場合、このクエリをどのように変更できますか。
SELECT t.cari_kod
AS Cari_Kod,
t.cari_unvan1
AS Unvan,
mikrodb_v14_dekor2011.dbo.Fn_carihesapanadovizbakiye('', 0, t.cari_kod, '', '', NULL, NULL, NULL, 0) AS BakiyeTutar,
t.cari_temsilci_kodu
AS TmsKodu,
cpt.cari_per_adi
AS Adi,
cpt.cari_per_soyadi
AS Soyadi,
t.cha_tarihi
AS Tarih,
t.cha_meblag
AS Tutar,
Datediff(day, t.cha_tarihi, Getdate())
AS GunFarki,
t.cari_bolge_kodu
AS Bolge
FROM (SELECT cr.*,
chh.*,
Row_number()
OVER (
partition BY chh.cha_kod
ORDER BY chh.cha_recno DESC) AS seqnum
FROM mikrodb_v14_dekor2011.dbo.cari_hesaplar cr
LEFT JOIN mikrodb_v14_dekor2011.dbo.cari_hesap_hareketleri chh
ON chh.cha_kod = cr.cari_kod
WHERE 1 = 1
AND chh.cha_tip = 1
--and chh.cha_cinsi in (0,1,2,3,4,5,19,20)
AND chh.cha_evrak_tip IN ( 1, 2, 3, 4,
34, 65, 67, 98 )
AND chh.cha_tarihi > '20130101') t
LEFT OUTER JOIN mikrodb_v14_dekor2011.dbo.cari_personel_tanimlari cpt
ON ( t.cari_temsilci_kodu = cpt.cari_per_kod )
WHERE t.seqnum = 1
AND t.cari_temsilci_kodu IN ( 'PKAD01', 'PKMS04' )
ORDER BY
mikrodb_v14_dekor2011.dbo.Fn_carihesapanadovizbakiye('', 0, cari_kod, '', '', NULL, NULL, NULL, 0) DESC