码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2019-01-18 18:30:56      阅读:221      评论:0      收藏:0      [点我收藏+]

标签:pivot   转换   技术   art   列转行   info   .com   style   column   

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

 

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

技术分享图片

 


 

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

标签:pivot   转换   技术   art   列转行   info   .com   style   column   

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!