代码改变世界

sql行转列,列转行

2013-05-17 09:32  愿心平静面对  阅读(235)  评论(0编辑  收藏  举报

注:以下列转行,行转列,均是在SQL2005以及以上版本使用

sql行转列,使用关键字PIVOT

比如原始表结构:

sql语句:select spf_code,[上海总仓],[检验仓]
from dbo.V_Stock_2
PIVOT(max(stock_ky) for [wh_name] in ([上海总仓],[检验仓])) as pvt

结果:

sql列转行:使用关键字UNPIVOT

比如原始表结构:

sql语句:SELECT spf_code,wh_name,stock_ky FROM #aaa UNPIVOT(stock_ky FOR wh_name in([上海总仓],[检验仓])) t

结果: