SQL - data ostatniej sprzedaży
: 15 maja 2008, 15:39
Próbuję zrobić wydruk z podstawowymi informacjami o klientach. Utknąłem na pobieraniu informacji o dacie ostatniej sprzedaży do klienta:
Problem polega na tym że to zapytanie zwraca tylko kontrahentów którzy dokonali jakiekolwiek zakupy. Mnie natomiast interesuje takie zapytanie, gdzie zwracani są wszyscy kontrahenci ograniczeni wyłącznie przez {filtrSQL}. Jeśli transakcji z klientem nie ma w bazie, w kolumnie z datą powinna pojawić się wartość NULL (a najlepiej w jej zastępstwie jakiś tekst, np 'brak FS')
Kod: Zaznacz cały
select
Knt_GIDNumer,
knt_akronim,
Nazwa=RTRIM(Knt_Nazwa1)+RTRIM(' '+Knt_Nazwa2)+RTRIM(' '+Knt_Nazwa3),
Miejscowosc=Knt_KodP+' '+Knt_Miasto,
Knt_Ulica,
Knt_Telefon1,
Knt_NipE,
CASE
WHEN Knt_FormaPl BETWEEN 10 AND 19 THEN 'gotówka'
WHEN Knt_FormaPl BETWEEN 20 AND 29 THEN 'przelew'
ELSE ''
END,
Knt_LimitOkres,
Data=convert(varchar(10), dateadd(day, TrN_Data2, '18001228'), 120)
from cdn.kntkarty AS X
LEFT OUTER JOIN CDN.TraNag ON Trn_KntNumer = Knt_GIDNumer
where {filtrSQL} and TrN_TrNTyp=3 and TrN_Data2=
(select max(TrN_Data2) from CDN.TraNag WHERE X.Knt_GIDNumer = Trn_KntNumer group by Trn_KntNumer)