Я пытаюсь динамически поворачивать таблицу с 4 столбцами.До сих пор мне удалось повернуть столбец «AttributeId», однако рядом с ним отображается только ключевой индекс «RefRecId».Я хотел бы, чтобы также были показаны другие 2 столбца.
Интересно, где я должен настроить оператор SELECT для добавления других столбцов к результату?Эти столбцы не нужно поворачивать, их нужно выбирать так же, как и ключ (RefRecId).
Ниже кода пока:
DECLARE @cols AS NVARCHAR(max) = Stuff((SELECT DISTINCT ', ' + Quotename(AttributeId)
FROM SATATTRIBUTEREF
FOR xml path(''), type).value('.', 'NVARCHAR(MAX)'), 1, 1, '');
DECLARE @maxCols AS NVARCHAR(max) = Stuff((SELECT DISTINCT ', max(' + Quotename(AttributeId) + ') as ' + Quotename(AttributeId)
FROM SATATTRIBUTEREF
FOR xml path(''), type).value('.', 'NVARCHAR(MAX)'), 1, 1, '');
DECLARE @query AS NVARCHAR(max) = 'SELECT fat.RefRecId,'+@maxCols+'
FROM (SELECT RefRecId, '+ @cols +'
FROM SATATTRIBUTEREF
PIVOT(Max(Value) FOR AttributeId IN ('+ @cols +')) piv) fat
group by fat.RefRecId';
EXECUTE(@query)
Чего мне здесь не хватает?
Редактировать: у меня было небольшое затемнение, То, что я пытаюсь сделать, также невозможно и не нужно.Мне жаль!С уважением, Игорь