Kann mir jemand die Bedeutung des' Symbols im zweiten Block erklären? Ich habe diesen alten Post gefunden, der sich mit Pivot beschäftigt, und das Set @query wird in diese Symbole eingefügt, während das erste nicht (das select @cols) ist. Was bedeutet das? Warum muss es so gemacht werden?Bedeutung von 'in SQL Pivot
Convert Rows to columns using 'Pivot' in SQL Server
DECLARE @cols AS NVARCHAR(MAX),
@query AS NVARCHAR(MAX)
select @cols = STUFF((SELECT ',' + QUOTENAME(Week)
from yt
group by Week
order by Week
FOR XML PATH(''), TYPE
).value('.', 'NVARCHAR(MAX)')
,1,1,'')
set @query = 'SELECT store,' + @cols + ' from
(
select store, week, xCount
from yt
) x
pivot
(
sum(xCount)
for week in (' + @cols + ')
) p '
execute(@query);
"Warum muss es so gemacht werden?" Bei einer dynamischen Anzahl von Spalten in einem Pivot muss dynamisches SQL verwendet werden. Die @Cols ist einfach die Liste der Spalten, die der Benutzer drehen möchte. – xQbert