Я ищу способ преобразования строк в столбцы в SQL server 2012
Вот мой пример:
Date Itemname qty price 01/09/2016 ABC 100 1000 02/09/2016 PQR 200 500 02/09/2016 ABC 50 500 04/09/2016 XYZ 10 100 05/09/2016 ABC 50 500
Я хочу результата:
Date ABC PQR XYZ qty price qty price qty price 01/09/2016 100 1000 02/09/2016 50 500 200 500 04/09/2016 50 100 10 100
Имена элементов не фиксируются.У меня есть неизвестное количество названий предметов.
Что я уже пробовал:
DECLARE @cols AS NVARCHAR(MAX), @query AS NVARCHAR(MAX) select @cols = STUFF((SELECT ',' + QUOTENAME(ColumnName) from yourtable group by ColumnName, id order by id FOR XML PATH(''), TYPE ).value('.', 'NVARCHAR(MAX)') ,1,1,'') set @query = N'SELECT ' + @cols + N' from ( select value, ColumnName from yourtable ) x pivot ( max(value) for ColumnName in (' + @cols + N') ) p ' exec sp_executesql @query;
Karthik_Mahalingam
опубликуйте ожидаемый результат в табличном формате. это не ясно.