技不如人

Welcome to Rickel's blog.
随笔 - 56, 文章 - 16, 评论 - 78, 阅读 - 10万
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理
< 2025年2月 >
26 27 28 29 30 31 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 1
2 3 4 5 6 7 8

SQL - Row to Columns

Posted on   Rickel  阅读(1180)  评论(0编辑  收藏  举报
在以前写过的项目中SQL中经常遇到行变列的处理
大多使用的方法是先捞出数据在进行循环得到结果
刚刚发现一个好方法,可以直接用SQL语句执行达到这个效果
不用进行循环。
--测试数据
create table tb1(tid int,tvalue varchar(20))
insert tb1 select 1,'2004Q1' union all select 1,'2004Q2' union all select 1,'2004Q3'
union all select 1,'2004Q4'  union all select 1,'2005Q1'  union all select 2,'2006Q3'
union all select 2,'2006Q4' union all select 3,'2008Q2' union all select 3,'2008Q3'
--生成结果
declare @s varchar(100set @s=''
select @s=@s+',['+tvalue+']=''''' from tb1 where tid=1
exec('select distinct tid'+@s+' from tb1 where tid=1')
drop table tb1 
编辑推荐:
· Java 中堆内存和栈内存上的数据分布和特点
· 开发中对象命名的一点思考
· .NET Core内存结构体系(Windows环境)底层原理浅谈
· C# 深度学习:对抗生成网络(GAN)训练头像生成模型
· .NET 适配 HarmonyOS 进展
阅读排行:
· 用 DeepSeek 给对象做个网站,她一定感动坏了
· DeepSeek+PageAssist实现本地大模型联网
· 手把手教你更优雅的享受 DeepSeek
· Java轻量级代码工程
· 从 14 秒到 1 秒:MySQL DDL 性能优化实战
点击右上角即可分享
微信分享提示