RW + numery serii

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

Moderator: mikey

Robot123
Posty: 16
Rejestracja: 02 kwie 2019, 13:39
Rola: Inny
Wersja: 2018
Lokalizacja: Wrocław

RW + numery serii

Post autor: Robot123 »

Cześć,

tworze sobie zapytanie, które ma za zadanie wyświetlić mi:
- Numer RW
- Akronim kontrahenta
- Kod towaru
- Cecha towaru

Nie wiem skąd mam wyciągnąć cechę produktu i jak ją powiązać z dokumentem RW - a raczej jego elementem.
Napisałem coś takiego:

Kod: Zaznacz cały

SELECT

CONCAT(
CASE
WHEN TrN_GIDTyp = '1616' THEN 'RW'
ELSE 'inne'
END, '-',
TrN_TrNNumer,'/',right(TrN_TrNRok,2),'/',right(TrN_RokMiesiac,2),'/',TrN_TrNSeria) AS 'Numer dokumentu'
,Knt_Akronim as 'Akronim'
,TrE_TwrKod as 'Kod towaru'


FROM CDN.TraNag
LEFT JOIN CDN.TraElem on TrN_GIDNumer = TrE_GIDNumer
LEFT JOIN CDN.KntKarty on Knt_GIDNumer = TrN_KntNumer
WHERE TrN_GIDTyp = '1616' 
Możecie mi Panowie podpowiedzieć ?

Pozdrawiam

marceynowa
Posty: 341
Rejestracja: 29 lut 2008, 11:27
Rola: Administrator CDN XL
Wersja: 2022
Lokalizacja: Gdynia

Re: RW + numery serii

Post autor: marceynowa »

Numer dokumentu wyciągam trochę inaczej.
Aby wyciągnąć cechy pobranych towarów trzeba zejść do subelementów - tam jest pole gdzie zapisana jest cecha pobranego zasobu.
Ponieważ subelementy mogą się powtarzać (np. towar z tą samą cechą z dwóch zamówień) - do Select dodałem Distinct

Kod: Zaznacz cały

SELECT distinct

CDN.NumerDokumentuTRN(TrN_GIDTyp,TrN_SpiTyp,TrN_TrNTyp,TrN_TrNNumer,TrN_TrNRok,TrN_TrNSeria) AS 'Numer dokumentu'
,Knt_Akronim as 'Akronim'
,TrE_TwrKod as 'Kod towaru'
,TrS_Cecha as 'Cecha towaru'

FROM CDN.TraNag
LEFT JOIN CDN.TraElem on TrN_GIDNumer = TrE_GIDNumer
LEFT JOIN CDN.KntKarty on Knt_GIDNumer = TrN_KntNumer
LEFT JOIN CDN.TraSElem on Tre_GIDTyp = TrS_GIDTyp and TrE_GIDNumer = TrS_GIDNumer and TrE_GIDLp = TrS_GIDLp
WHERE TrN_GIDTyp = '1616' 

Robot123
Posty: 16
Rejestracja: 02 kwie 2019, 13:39
Rola: Inny
Wersja: 2018
Lokalizacja: Wrocław

Re: RW + numery serii

Post autor: Robot123 »

@marceynowa - dzięki za odpowiedź.
U mnie niestety tak nie wygląda, ponieważ kolumna: TrS_Cecha jest u mnie pusta.
Cecha towaru jest nadawana/wpisywana podczas dostawy i musiałbym towar na RW powiązać z dostawą.

marceynowa
Posty: 341
Rejestracja: 29 lut 2008, 11:27
Rola: Administrator CDN XL
Wersja: 2022
Lokalizacja: Gdynia

Re: RW + numery serii

Post autor: marceynowa »

jakie masz ustawienia na karcie towaru - zakładka Inne - sekcja: Cecha?

Robot123
Posty: 16
Rejestracja: 02 kwie 2019, 13:39
Rola: Inny
Wersja: 2018
Lokalizacja: Wrocław

Re: RW + numery serii

Post autor: Robot123 »

@marceynowa nie na wszystkich mam to ustawione.

Ok ogarnąłem w inny sposób.
Zostawiam dla potomnych:

Kod: Zaznacz cały

SELECT 
CONCAT(
CASE
WHEN TrN_GIDTyp = '1616' THEN 'RW'
WHEN TrN_GIDTyp = '1600' THEN 'MM'
WHEN TrN_GIDTyp = '2009' THEN 'WZ'
WHEN TrN_GIDTyp = '2041' THEN 'FS'
ELSE 'inne'
END, '-',
TrN_TrNNumer,'/',right(TrN_TrNRok,2),'/',right(TrN_RokMiesiac,2),'/',TrN_TrNSeria) AS 'Numer_dokumentu'
,Knt_Akronim as 'Kontrahent'
,Dst_Cecha as 'Cecha towaru'
,TrE_TwrKod as 'Kod towaru'

FROM         CDN.TraSElem 
INNER JOIN CDN.TraElem ON CDN.TraSElem.TrS_GIDNumer = CDN.TraElem.TrE_GIDNumer AND CDN.TraSElem.TrS_GIDLp = CDN.TraElem.TrE_GIDLp 
INNER JOIN CDN.TraNag ON CDN.TraElem.TrE_GIDNumer = CDN.TraNag.TrN_GIDNumer 
INNER JOIN CDN.Dostawy ON CDN.TraSElem.TrS_DstTyp = CDN.Dostawy.Dst_GIDTyp AND CDN.TraSElem.TrS_DstNumer = CDN.Dostawy.Dst_GIDNumer
LEFT JOIN CDN.KntKarty on Knt_GIDNumer = TrN_KntNumer
WHERE TrN_GIDTyp IN ('1616', '1600', '2009', '2041')

ODPOWIEDZ