Strona 1 z 1
Raport ostanie ceny zakupu z PZ / PZI
: 13 mar 2013, 17:02
autor: michaelK
Witam,
moja przygoda z CDN XL zaczęła sie około 1 roku temu.
Od niedawna z racji nowych pomysłów potrzebuje samemu tworzyć zapytania SQL.
Używam w tym celu arkusza EXCEL i korzystając z bibliotek ADODB generuje raporty z interesującymi mnie wynikami .
Mam jednak problem z zapytaniem które wygeneruje wykaz towarów z ich ostatnimi cenami zakupu z dokumentów PZ /PZI
( zależy mi aby dane pobierał z tabel cdn.tranag traelem nie z cdn.dostawy )
Wygląd raportu :
kod towaru | Ilosc towaru | cena jednostkowa | data Potwierdzenia dokumentu PZ / PZI | numer_ dokumentu
Proszę o pomoc/ sugestie
Re: Raport ostanie ceny zakupu z PZ / PZI
: 15 mar 2013, 12:01
autor: STAY_PJE
Kod: Zaznacz cały
select data=dateadd(day, trn_data2, '18001228'), towar=tre_twrKod, cena=sum(tre_ksiegowaNetto)/sum(tre_ilosc) from cdn.tranag join cdn.traelem on tre_gidnumer=trn_gidnumer where trn_gidtyp in (1489,1490) group by tre_twrKod, trn_data2 having sum(tre_ilosc)<>0 order by TrN_Data2 desc
Re: Raport ostanie ceny zakupu z PZ / PZI
: 15 mar 2013, 14:30
autor: michaelK
Witam,
dziękuje za pomoc. Jednak grupowanie nie jest do końca poprawne ponieważ wyrzuca wszystkie PZ / PZI które były na danym towarze,
a mi zależy że do jednego kodu towaru mieć jeden wynik.
Oczywiście można skorzystać z tabeli przestawnej Excelu aby dla danego kodu wyrzucić najwyższą datę dla danego towaru,
ale na pewno można ten wynik uzyskać prosto z zapytania .
Re: Raport ostanie ceny zakupu z PZ / PZI
: 15 mar 2013, 14:37
autor: michaelK
Myślałem też żeby pobrać dane po najwyższym numerze trN-gidnumer dokumentu dla każdego kodu a datę poprostu wyciągnąć z kolumny
ale gdy grupuje dane wynik zawiera wykaz wszystkich przyjęć a nie ostatniego dla danego towaru.
Re: Raport ostanie ceny zakupu z PZ / PZI
: 16 mar 2013, 20:23
autor: wacek
Może tak:
Kod: Zaznacz cały
select
lp=row_number() over(order by kod)
,kod
,ilosc=tre_ilosc
,cena=tre_cenaporabacie
,data=dateadd(day,data,'18001228')
,dokument
from cdn.traelem
join (select data=max(trn_data2),tdata=max(tre_trntstamp),kod=max(tre_twrkod),ttyp=max(tre_twrtyp),tnumer=max(tre_twrnumer),dtyp=max(tre_gidtyp),dnumer=max(tre_gidnumer),dokument=max(cdn.numerdokumentutrn(trn_gidtyp,trn_spityp,trn_trntyp,trn_trnnumer,trn_trnrok,trn_trnseria))
from cdn.tranag join cdn.traelem on trn_gidtyp=tre_gidtyp and trn_gidnumer=tre_gidnumer
where trn_gidtyp in (1489,1490) group by tre_twrkod,tre_twrtyp,tre_twrnumer) m on dtyp=tre_gidtyp and dnumer=tre_gidnumer and ttyp=tre_twrtyp and tnumer=tre_twrnumer and tdata=tre_trntstamp