当前位置: 代码迷 >> Sql Server >> ■■■■■■■■■■■■■■■■■■About~行列转换,该怎么处理
  详细解决方案

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

热度:82   发布时间:2016-04-25 00:00:57.0
■■■■■■■■■■■■■■■■■■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
*/
 

  相关解决方案