Sql Server 行转列
Sql Server行转列示例:
--创建部门表,写入数据 create table Table_Dep( depid varchar(10), dname varchar(50) ) insert into Table_Dep values('1','国内业务一部') insert into Table_Dep values('2','国内业务二部') insert into Table_Dep values('3','国内业务三部') insert into Table_Dep values('4','国际业务部') --创建业绩表,写入数据 create table Table_Yeji( mon varchar(20), depid varchar(20), yj varchar(30) ) insert into Table_Yeji values('一月份','1','10') insert into Table_Yeji values('一月份','2','10') insert into Table_Yeji values('一月份','3','5') insert into Table_Yeji values('二月份','2','8') insert into Table_Yeji values('二月份','4','9') insert into Table_Yeji values('三月份','3','8') --输出结果:部门、名称、一月份、二月份、三月份 select A.depid,A.dname,B.一月份,B.二月份,B.三月份 from Table_Dep A left join (select depid, MAX(case mon when'一月份' then yj else null end)'一月份', MAX(case mon when'二月份' then yj else null end)'二月份', MAX(case mon when'三月份' then yj else null end)'三月份' from Table_Yeji group by depid) B on A.depid=B.depid --pivot函数行转列 select A.depid,A.dname,B.一月份,B.二月份,B.三月份 from Table_Dep A left join (select * from Table_Yeji pivot(max(yj) for mon in(一月份,二月份,三月份))tb) B on A.depid=B.depid
标签:
Sql Server行转列
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?