当前位置: 代码迷 >> Sql Server >> ■■■■■■■■■■■■■■■■■■About~队列转换
  详细解决方案

■■■■■■■■■■■■■■■■■■About~队列转换

热度:49   发布时间:2016-04-27 11:09:53.0
■■■■■■■■■■■■■■■■■■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           QF20064           QF200711          QF200817          QF200927          QF201057          QF2011111         QF2012*/
  相关解决方案