您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

SqlServer行转列关键字——Pivot

bubuko 2022/1/25 19:01:01 sqlserver 字数 3918 阅读 907 来源 http://www.bubuko.com/infolist-5-1.html

有如下两表: 使用 pivot 进行“行列转换”,效果: 脚本: declare @sql varchar(1000) declare @col varchar(1000) select @col = ISNULL(@col + ',','') + QUOTENAME(r.Name) from db ...

有如下两表:

技术分享图片

技术分享图片

使用 pivot 进行“行列转换”,效果:

技术分享图片

脚本:

declare @sql varchar(1000)
declare @col varchar(1000)
select @col = ISNULL(@col + ,,‘‘) + QUOTENAME(r.Name) from dbo.[User] u inner join dbo.[Role] r on u.RoleID = r.ID group by r.Name --先确定要转换的列名
print @col
set @sql = 
select * from (
    select u.ID, r.Name, u.UserName from dbo.[User] u join dbo.[Role] r on u.RoleID = r.ID
) rg  pivot (max(UserName) for rg.Name in ( + @col + )) as pvt
print(@sql)
exec(@sql)

隐藏 ID 列,将 select * from 修改为 select ‘ + @col + ‘ from

SqlServer行转列关键字——Pivot

原文:https://www.cnblogs.com/seanyan/p/14981683.html


如果您也喜欢它,动动您的小指点个赞吧

除非注明,文章均由 laddyq.com 整理发布,欢迎转载。

转载请注明:
链接:http://laddyq.com
来源:laddyq.com
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。


联系我
置顶