我有一个存储过程,它以以下格式返回数据:
Date | Unit A Count | Unit B Count | Unit C Count
2010 | 335 | 52 | 540
2011 | 384 | 70 | 556
2012 | 145 | 54 | 345
这个存储过程在内部调用另一个存储过程,所以我不能再次嵌套它 我所追求的是一种方法来转动上面的输出,所以它看起来像这样:
| 2010 | 2011 | 2012
Unit A Count | 335 | 384 | 145
Unit B Count | 52 | 70 | 54
Unit C Count | 540 | 556 | 345
编辑:使用3个参数调用StorProc,我需要保留原始输出。
有什么想法吗?
我正在使用SQL Server 2005,Visual Studio 2008,C#,输出转到.aspx页面。
答案 0 :(得分:3)
如果您想转换存储过程的结果,则需要使用UNPIVOT and PIVOT来获取最终产品:
select *
from
(
select date, value, unit
from
(
select *
from t1
) x
unpivot ([value] for unit in ([unita], [unitb], [unitc])) u
) a
pivot
(
sum(value)
for date in ([2010], [2011], [2012])
) p
您希望在商店流程中转换这些值,然后您必须发布完整查询,以便我们可以看到它。