Strona 1 z 1
Dodatkowa kolumna na liście ZS i ZW
: 26 maja 2023, 09:02
autor: VoYecK
Dzień dobry, bardzo proszę o zapytanie SQL abym mógł sobie na liście ZS i ZW dodać kolumnę, w której będzie widnieć zlecenie produkcyjne ZP, które zostało wystawione do danego zamówienia ZS czy tez ZW.
P.S. Mój SQL to MS SQL Server 2014
Re: Dodatkowa kolumna na liście ZS i ZW
: 26 maja 2023, 20:25
autor: taszek
Dostałeś tutaj kolumnę:
praiser pisze: ↑24 maja 2023, 09:40
Z funkcją STUFF
Kod: Zaznacz cały
SELECT DISTINCT src.[Dok] as [Zamówienia] from (
SELECT
[Dok] = STUFF(
(SELECT '; ' + CDN.NazwaObiektu(ZaN_GIDTyp, ZaN_GIDNumer,0,2)
FROM CDN.ZamNag
JOIN CDN.ZamElem ON ZaE_GIDTyp = ZaN_GIDTyp AND ZaE_GIDNumer = ZaN_GIDNumer
JOIN CDN.ZamZamLinki ON ZaE_GIDTyp = ZZL_ZSGidTyp AND ZaE_GIDNumer = ZZL_ZSGidNumer AND ZaE_GIDLp = ZZL_ZSGidLp
JOIN CDN.ProdZlecElem ON PZE_Id = ZZL_ZZGidNumer AND ZZL_ZZGIDTyp = 14343
JOIN CDN.ProdZlecenia ON PZE_Zlecenie = PZL_Id
WHERE {FiltrSQL}
GROUP BY ZaN_GIDTyp, ZaN_GIDNumer
FOR XML PATH ('')
)
, 1, 1, ''
)
) src
Zadziałała również na liście ZS będzie bo masz w kodzie tabelę CDN.ZamNag
Re: Dodatkowa kolumna na liście ZS i ZW
: 29 maja 2023, 12:17
autor: VoYecK
Tak dostałem i działa dobrze. Ale teraz potrzebuję zobaczyć czy jest wystawione ZP do danego ZS/ZW w nowej kolumnie na liście ZS/ZW.
Wspomniane wcześnie zapytanie pokazuje ZS/ZW w nowej kolumnie, więc informacje się powielają

Re: Dodatkowa kolumna na liście ZS i ZW
: 29 maja 2023, 12:26
autor: praiser
Ta funkcja
CDN.NazwaObiektu(ZaN_GIDTyp, ZaN_GIDNumer,0,2)
wyświetla pełny nr dokumentu na podstawie gidtyp i gidnumer. w tym przypadku z tabeli ZamNag
musisz tu zamienić typ i numer z tabeli która cię interesuje i istnieje w twoim zapytaniu.
w tym przypadku to chyba: CDN.NazwaObiektu(14343, PZL_Numer, 0,2)
Re: Dodatkowa kolumna na liście ZS i ZW
: 27 lip 2023, 13:18
autor: VoYecK
Dzień dobry, odświeżę temat. Ktoś wspomoże zapytaniem odnośnie mojej prośby. Powyższe uwagi dużo mi nie mówią.
Re: Dodatkowa kolumna na liście ZS i ZW
: 08 gru 2025, 12:57
autor: VoYecK
Odświeżę troszkę temat.
Mam takie zapytanie, które pokazuje mi numer ZP, który został wygenerowany do danego ZS, ZW na liście dokumentów ZS lub ZW.
select
'ZP-' +
CAST(PZL_Numer AS varchar(20)) + '/' +
CAST(PZL_Seria AS varchar(10)) + '/' +
CAST(PZL_Rok AS varchar(4)) + '/' +
RIGHT('00' + CAST(PZL_Miesiac AS varchar(2)), 2) AS [Numer Zlecenia ZP]
from cdn.ProdZlecenia
inner join cdn.ProdZlecElem on PZE_Zlecenie = PZL_Id
inner join cdn.ZamZamLinki on PZE_Id = ZZL_ZZGidNumer
inner join cdn.ZamNag on ZZL_ZSGidTyp = ZaN_GIDTyp
and ZZL_ZSGidNumer = ZaN_GIDNumer
where {filtrsql}
Jak to zapytanie zmodyfikować aby pokazywało kilka ZP-ków do danego ZS, ZW jeśli było do jednego zamówienia wygenerowane kila ZP-ków ?
Re: Dodatkowa kolumna na liście ZS i ZW
: 08 gru 2025, 13:56
autor: praiser
Kod: Zaznacz cały
SELECT DISTINCT src.[Numery zleceń ZP]
FROM (
SELECT
[Numery Zleceń ZP] = STUFF(
(SELECT '; ' + 'ZP-' + CAST(PZL_Numer AS varchar(20)) + '/' +
CAST(PZL_Seria AS varchar(10)) + '/' +
CAST(PZL_Rok AS varchar(4)) + '/' +
RIGHT('00' + CAST(PZL_Miesiac AS varchar(2)), 2)
FROM cdn.ProdZlecenia
INNER JOIN cdn.ProdZlecElem ON PZE_Zlecenie = PZL_Id
INNER JOIN cdn.ZamZamLinki ON PZE_Id = ZZL_ZZGidNumer
INNER JOIN cdn.ZamNag ON ZZL_ZSGidTyp = ZaN_GIDTyp AND ZZL_ZSGidNumer = ZaN_GIDNumer
WHERE {filtrsql}
GROUP BY ZaN_GIDTyp, ZaN_GIDNumer
FOR XML PATH('')
), 1, 1, ''
)
) src
Re: Dodatkowa kolumna na liście ZS i ZW
: 09 gru 2025, 08:51
autor: VoYecK
Dzień dobry, wyskakuje taki błąd po zastosowaniu powyższego zapytania
"ERRORS;Użycie kolumny „cdn.ProdZlecenia.PZL_Numer” na liście wyboru jest nieprawidłowe, ponieważ ta kolumna nie jest zawarta w funkcji agregującej ani w klauzuli GROUP BY.;Użycie kolumny „cdn.ProdZlecenia.PZL_Seria” na liście wyboru jest nieprawidłowe, ponieważ ta kolumna nie jest zawarta w funkcji agregującej ani w klauzuli GROUP BY.;Użycie kolumny „cdn.ProdZlecenia.PZL_Rok” na liście wyboru jest nieprawidłowe, ponieważ ta kolumna nie jest zawarta w funkcji agregującej ani w klauzuli GROUP BY.;Użycie kolumny „cdn.ProdZlecenia.PZL_Miesiac” na liście wyboru jest nieprawidłowe, ponieważ ta kolumna nie jest zawarta w funkcji agregującej ani w klauzuli GROUP BY."
Re: Dodatkowa kolumna na liście ZS i ZW
: 09 gru 2025, 09:51
autor: praiser
usuń grupowanie.
Re: Dodatkowa kolumna na liście ZS i ZW
: 09 gru 2025, 13:44
autor: VoYecK
Ja zrobiłem to tak i działa:
SQL ver 2014
Kod: Zaznacz cały
SELECT
STUFF(
(SELECT DISTINCT
'; ZP-' + CAST(PZL_Numer AS varchar(20)) + '/' +
CAST(PZL_Seria AS varchar(10)) + '/' +
CAST(PZL_Rok AS varchar(4)) + '/' +
RIGHT('00' + CAST(PZL_Miesiac AS varchar(2)), 2)
FROM cdn.ProdZlecenia
INNER JOIN cdn.ProdZlecElem ON PZE_Zlecenie = PZL_Id
INNER JOIN cdn.ZamZamLinki ON PZE_Id = ZZL_ZZGidNumer
INNER JOIN cdn.ZamNag ON ZZL_ZSGidTyp = ZaN_GIDTyp AND ZZL_ZSGidNumer = ZaN_GIDNumer
WHERE {filtrsql}
FOR XML PATH(''), TYPE
).value('.', 'varchar(max)')
,1,2,'') AS [Numery zleceń ZP]
SQL ver 2017+
Kod: Zaznacz cały
SELECT
STRING_AGG(NumZP, '; ')
WITHIN GROUP (ORDER BY Rok, Miesiac, Numer) AS [Numery zleceń ZP]
FROM (
SELECT DISTINCT
NumZP = CAST(
'ZP-'
+ CAST(PZL_Numer AS varchar(20)) + '/'
+ CAST(PZL_Seria AS varchar(10)) + '/'
+ CAST(PZL_Rok AS varchar(4)) + '/'
+ RIGHT('00' + CAST(PZL_Miesiac AS varchar(2)), 2)
AS varchar(max)),
PZL_Rok AS Rok,
PZL_Miesiac AS Miesiac,
PZL_Numer AS Numer,
ZaN_GIDTyp,
ZaN_GIDNumer
FROM cdn.ProdZlecenia
INNER JOIN cdn.ProdZlecElem
ON PZE_Zlecenie = PZL_Id
INNER JOIN cdn.ZamZamLinki
ON PZE_Id = ZZL_ZZGidNumer
INNER JOIN cdn.ZamNag
ON ZZL_ZSGidTyp = ZaN_GIDTyp
AND ZZL_ZSGidNumer = ZaN_GIDNumer
WHERE {filtrsql}
) AS src