Ich weiß, es gibt bessere Möglichkeiten, um die Tabelle zu entwerfen, aber das ist nur ein Beispiel dafür, was ich braucheselbstbeziehende dynamische SQL-Pivot-Abfrage Rückkehr unerwünschte Ergebnisse
Ich kann einfach nicht scheinen, um die Ergebnisse zu bekommen, ich bin auf der Suche für
Tabelle und Daten:
Abfrage:
DECLARE @cols AS NVARCHAR(MAX),
@query AS NVARCHAR(MAX);
SET @cols = STUFF((SELECT DISTINCT ',' + QUOTENAME(columnType)
FROM [Values]
FOR XML PATH(''), TYPE
).value('.', 'NVARCHAR(MAX)')
,1,1,'')
SET @query = 'SELECT ' + @cols + ' FROM
(
SELECT value, columnType
FROM [Values]
) x
PIVOT
(
MAX(value)
FOR columnType IN (' + @cols + ')
) p '
EXECUTE(@query)
Ich
Ergebnis erhalten:
Ergebnisse Ich möchte
Product Item SubItem
A A A A A A
A A B A A B
B B A NULL
Es war nicht genau die Antwort, die ich suchte, aber es wird funktionieren. Coding der dynamischen SQL ist ein bisschen chaotischer – Anarchy101