Cześć,
Potrzebuję wyciągnąć z bazy XL dane odnośnie elementów dokumentów PW. Do tych dokumentów jest dość sporo korekt, PW jest z wartością 0, dopiero później idą korekty. W tabeli CDN.TraElem nie tych wartości.
Czy poniższe zapytanie dobrze podbierze mi wartości po korektach? Opieram się na dostawach elementów. Z tego co zauważyłem to jedyna tabela w której dane mam właśnie już po korektach. Takie samo zestawienie będę potrzebował do WZ oraz RW na kontrahenta i nie wiem czy dobrze celuję.
select Knt_Akronim, Knt_Nazwa1, Twr_Kod, Twr_Nazwa, sum(dst_ilosc) as 'Ilosc' , sum(Dst_KsiegowaNetto) as 'Koszt księgowy' from cdn.Dostawy
join cdn.TraNag on TrN_GIDNumer = Dst_TrnNumer and trn_gidtyp = dst_trntyp
join cdn.TwrKarty on dst_twrnumer = Twr_GIDNumer
join cdn.KntKarty on TrN_KntNumer = Knt_GIDNumer
join cdn.Magazyny on TrN_MagDNumer = MAG_GIDNumer
where TrN_TrNSeria = 'ZT' and MAG_Kod = '002'
group by Twr_Kod, Twr_Nazwa, Knt_Akronim, Knt_Nazwa1
Jeżeli pobierzesz typ dokumentu PW 1617 i PWK 1625 i pogrupujesz to suma kosztu księgowego ujmie zerowe PW i korekty na plus (chyba, że seria korekt jest inna)
select
Knt_Akronim, Knt_Nazwa1, Twr_Kod, Twr_Nazwa, sum(Tre_ilosc) as 'Ilosc' , sum(Tre_KsiegowaNetto) as 'Koszt księgowy'
from CDN.TraElem
join CDN.TraNag on Tre_GidNumer=Trn_GidNumer
join cdn.TwrKarty on Tre_twrnumer = Twr_GIDNumer
join cdn.KntKarty on TrN_KntNumer = Knt_GIDNumer
join cdn.Magazyny on TrN_MagDNumer = MAG_GIDNumer
where Trn_GidTyp IN (1617,1625)
and TrN_TrNSeria = 'ZT' and MAG_Kod = '002'
group by Twr_Kod, Twr_Nazwa, Knt_Akronim, Knt_Nazwa1
Właśnie seria korekt jest inna niż dokumentu. Do tego dochodzi też czasami, gdzie wystawiony jest dokument KK np. po korekcie PZ na daną cenę, wtedy podpina się tylko dokument KK bez PWK.
Czyli opierając się na dostawach jest też ok? Bo analogicznie do tego dokumenty RW wychodzą dość dziwnie.
Tam chyba tylko left join przy kontrahencie do poprawy bo nie łapie mi coś pustych.