0

以下では、これらの条件を介してリストを取得しています。

最新の支払い日が入力された日付よりも大きく、選択された支払いタイプ (現金、小切手、クレジット カードなど) のみのお客様

親愛なるゴードン・リノフは以前、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 
4

0 に答える 0