Raport ostanie ceny zakupu z PZ / PZI

Zapytania SQL, widoki, Crystal, definicje filtrów, szybkich raportów, wydruków, API, Hydra, .NET

Moderator: mikey

michaelK
Posty: 4
Rejestracja: 13 mar 2013, 16:47
Rola: Inny
Wersja: 10

Raport ostanie ceny zakupu z PZ / PZI

Post 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

Awatar użytkownika
STAY_PJE
Posty: 651
Rejestracja: 24 wrz 2009, 12:08
Rola: Konsultant CDN XL
Lokalizacja: Warszawa i od Helu do Wawelu
Kontakt:

Re: Raport ostanie ceny zakupu z PZ / PZI

Post 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 

michaelK
Posty: 4
Rejestracja: 13 mar 2013, 16:47
Rola: Inny
Wersja: 10

Re: Raport ostanie ceny zakupu z PZ / PZI

Post 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 .

michaelK
Posty: 4
Rejestracja: 13 mar 2013, 16:47
Rola: Inny
Wersja: 10

Re: Raport ostanie ceny zakupu z PZ / PZI

Post 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.

Awatar użytkownika
wacek
Posty: 714
Rejestracja: 27 paź 2008, 18:04
Rola: Administrator CDN XL
Lokalizacja: Łódzkie

Re: Raport ostanie ceny zakupu z PZ / PZI

Post 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
Pozdrawiam,
Robert

select convert(varchar(100),0x637a6173616d69207069737aea2074752067b375706f7479203a29)

ODPOWIEDZ