日期:2014-05-17  浏览次数:20522 次

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

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



希望得到的结果如下图



望师兄指点迷津

------解决方案--------------------
SQL code
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]))

------解决方案--------------------
tanleittl,你前面两个写的都有问题,呵呵
SQL code

;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
*/