I sh для добавления нескольких строк для конкретной сводной таблицы.
Имя таблицы: MasterTable
FieldName | FieldValue
------------------------
Field1 | F1value1
Field2 | F2value1
Field3 | F3value1
Field1 | F1value2
Field2 | F2value2
Field3 | F3value2
Ожидаемый результат:
Field1 | Field2 | Field3
---------------------------------
F1value1 | F2value1 | F3value1
F1value2 | F2value2 | F3value2
I попробовал этот код, но в результате я получил только одну строку.
DECLARE @cols AS NVARCHAR(MAX),
@query AS NVARCHAR(MAX)
select @cols = STUFF((SELECT distinct ',' + QUOTENAME(FieldName) from MasterTable FOR XML PATH(''), TYPE).value('.', 'NVARCHAR(MAX)') ,1,1,'')
set @query = 'SELECT ' + @cols + ' from (select FieldName, FieldValue from MasterTable ) x
pivot
(
max(FieldValue)
for FieldName in (' + @cols + ')
) p '
execute(@query)
Вывод:
Field1 | Field2 | Field3
---------------------------------
F1value1 | F2value1 | F3value1
Может кто-нибудь, пожалуйста, помогите мне иметь несколько строк, используя сводную таблицу.