读书人

■■■■■■■■■■■■■■■■■■

发布时间: 2013-01-27 13:56:17 作者: rapoo

■■■■■■■■■■■■■■■■■■About~~~~~~~~~~~行列转换
感谢各位师兄关注此贴

现有一个表需要行列转换,原表如下图:

■■■■■■■■■■■■■■■■■■About~行列转换,该怎么处理

希望得到的结果如下图

■■■■■■■■■■■■■■■■■■About~行列转换,该怎么处理

望师兄指点迷津
[解决办法]

select * from Tb unpiovt (sumamount for year in([QF2006],[QF2007],[QF2008],[QF2009],[QF2010],[QF2011],[QF2012]))

[解决办法]
引用:
SQL code
select * from Tb unpiovt (sumamount for year in([QF2006],[QF2007],[QF2008],[QF2009],[QF2010],[QF2011],[QF2012]))


早起的鸟儿有虫吃
顶一个+1
[解决办法]
tanleittl,你前面两个写的都有问题,呵呵

;with t as
(
select 2 QF2006,4 QF2007,11 QF2008,17 QF2009,27 QF2010,57 QF2011,111 QF2012
)
select * from t unpivot(sumamount for year in([QF2006],[QF2007],[QF2008],[QF2009],[QF2010],[QF2011],[QF2012])) upvt
/*
sumamount year
----------- --------------------------------------------------------
2 QF2006
4 QF2007
11 QF2008
17 QF2009
27 QF2010
57 QF2011
111 QF2012
*/


读书人网 >SQL Server

热点推荐