Strona 1 z 1

Dodatkowa kolumna na liście ZP

: 15 maja 2023, 14:53
autor: VoYecK
Dzień dobry, proszę o pomoc jak ma wyglądać zapytanie SQL aby dodać dodatkową kolumnę na liście ZP (Zlecenia Produkcyjne), w której będzie się wyświetlać z jakiego zamówienia ZS (Zamówienie Sprzedaży), ZW (Zamówienie Wewnętrzne) zostało utworzone dane ZP (Zlecenia Produkcyjne).

Pozdrawiam.

Re: Dodatkowa kolumna na liście ZP

: 16 maja 2023, 13:33
autor: misio803
Udało Ci się z tą kolumna ?

Re: Dodatkowa kolumna na liście ZP

: 17 maja 2023, 14:52
autor: VoYecK
misio803 pisze: 16 maja 2023, 13:33 Udało Ci się z tą kolumna ?
Niestety nie.

Re: Dodatkowa kolumna na liście ZP

: 22 maja 2023, 19:40
autor: taszek

Kod: Zaznacz cały

SELECT DISTINCT STRING_AGG(src.Dok,'; ') [Zamówienia] from (
SELECT CDN.NazwaObiektu(ZaN_GIDTyp, ZaN_GIDNumer,0,2) [Dok]
			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
			) src

Re: Dodatkowa kolumna na liście ZP

: 24 maja 2023, 07:26
autor: VoYecK
taszek pisze: 22 maja 2023, 19:40

Kod: Zaznacz cały

SELECT DISTINCT STRING_AGG(src.Dok,'; ') [Zamówienia] from (
SELECT CDN.NazwaObiektu(ZaN_GIDTyp, ZaN_GIDNumer,0,2) [Dok]
			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
			) src
Dzień dobry, wyskakuje błąd

„STRING_AGG” nie jest rozpoznawanym nazwa funkcji wbudowanej.

Re: Dodatkowa kolumna na liście ZP

: 24 maja 2023, 07:38
autor: praiser
STRING_AGG występuje w wersji SQL Server 2017 (14.x) i późniejszych,

Można to zastąpić funkcją stuff z for xml albo replace

https://stackoverflow.com/questions/312 ... sql-server

viewtopic.php?p=26589#p26589

Re: Dodatkowa kolumna na liście ZP

: 24 maja 2023, 08:15
autor: VoYecK
praiser pisze: 24 maja 2023, 07:38 STRING_AGG występuje w wersji SQL Server 2017 (14.x) i późniejszych,

Można to zastąpić funkcją stuff z for xml albo replace

https://stackoverflow.com/questions/312 ... sql-server

viewtopic.php?p=26589#p26589
No ja mam SQL Server 2014.

Proszę o pomoc jak ma wyglądać zapytanie z funkcją replace.

Re: Dodatkowa kolumna na liście ZP

: 24 maja 2023, 09:40
autor: praiser
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

Re: Dodatkowa kolumna na liście ZP

: 24 maja 2023, 12:08
autor: VoYecK
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
Działa, dziękuję bardzo.