首页 > 其他 > 详细

行列转换之——多行转多列,多列转多行实践版

时间:2019-01-18 18:00:05      阅读:205      评论:0      收藏:0      [点我收藏+]

行列转换之——多行转多列,多列转多行实践版

 

1、多列转行(核心思想,利用row_number() over() 来构造列传行之后的唯一列,来行转列)

   要求:

   技术分享图片

 实操演示:

select a as a,b as b,c as c
into #temp1
union all
select aa,bb,cc
union all 
select aaa,bbb,ccc

select * from 
(
    select column1,value,row_number() over(partition by column1 order by value) as rn from #temp1
    unpivot(value for column1 in(a,b,c) ) t
) a
pivot(max(value) for rn in ([1],[2],[3])) t1

技术分享图片

 


 

行列转换之——多行转多列,多列转多行实践版

原文:https://www.cnblogs.com/gered/p/10289013.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!