我的sql查询返回以下输出。
在C#.Net中,我必须根据RowSequence和ColumnSequence列值将其转换为如下所示。
怎么做。
答案 0 :(得分:2)
您必须使用动态数据透视,因为您需要旋转的行值未修复:
DECLARE @columns AS NVARCHAR(MAX), @query AS NVARCHAR(MAX)
select @columns = STUFF((SELECT ', ' + QUOTENAME(ColumnName)
from YOURTABLE
group by ColumnName, ColumnSequesnce
order by ColumnSequesnce
FOR XML PATH(''), TYPE
).value('.', 'NVARCHAR(MAX)')
,1,1,'')
set @query = N'SELECT ' + @columns + N' from
(
select RowSequence, ColumnValue, ColumnName
from YOURTABLE
) x
pivot
(
max(ColumnValue)
for ColumnName in (' + @columns + N')
) p '
exec sp_executesql @query;
答案 1 :(得分:0)
您可以在Sql中找到Pivot
http://blog.sqlauthority.com/2008/06/07/sql-server-pivot-and-unpivot-table-examples/
试试吧。