sql server中如何使用T-Sql语句实现列转行?

第1部分:应用场景

在我们软件开发的过程中,无法避免的需要使用列转行的功能,如下图所示:

--左侧是通过以下语句查询出来的:
SELECT StripOrderNo 单号,ItemNo 行,gx01,gx02,gx03,gx04,gx05 FROM 表1 

 

sql server中如何使用T-Sql语句实现列转行1

第2部分:解决方案

那我们如何通过sqlserver的t-sql语句实现上述我们想要的结果呢?将左边的表格转换为右边的表格,此时我们可以通过UNPIVOT行数进行,首先我们分析一下数据表的内容,可以得到:

sql server中如何使用T-Sql语句实现列转行2

所以,我们可以用下面的sql语句实现:

SELECT StripOrderNo 单号,ItemNo 行,工序,工序名 FROM 表1
UNPIVOT(工序名 FOR 工序 IN(gx01,gx02,gx03,gx04,gx05)) b

 

 

© 版权声明
THE END
喜欢就支持一下吧
点赞14 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容