Dodatkowa kolumna na liście ZS i ZW
Moderator: mikey
Dodatkowa kolumna na liście ZS i ZW
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
P.S. Mój SQL to MS SQL Server 2014
Re: Dodatkowa kolumna na liście ZS i ZW
Dostałeś tutaj kolumnę:
Zadziałała również na liście ZS będzie bo masz w kodzie tabelę CDN.ZamNagpraiser pisze: ↑24 maja 2023, 09:40Z 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
Pozdrawiam
Wojtek Cyrklewicz
Wojtek Cyrklewicz
Re: Dodatkowa kolumna na liście ZS i ZW
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ą


Wspomniane wcześnie zapytanie pokazuje ZS/ZW w nowej kolumnie, więc informacje się powielają

Re: Dodatkowa kolumna na liście ZS i ZW
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)
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)
--------------------------------
Pozdrawiam
WW
Pozdrawiam
WW
Re: Dodatkowa kolumna na liście ZS i ZW
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
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 ?
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
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--------------------------------
Pozdrawiam
WW
Pozdrawiam
WW
Re: Dodatkowa kolumna na liście ZS i ZW
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."
"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
usuń grupowanie.
--------------------------------
Pozdrawiam
WW
Pozdrawiam
WW
Re: Dodatkowa kolumna na liście ZS i ZW
Ja zrobiłem to tak i działa:
SQL ver 2014
SQL ver 2017+
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