SQLServer列转行操作及union all用法

1.创建测试表及数据sql如下

create table ScoresTable(

Name varchar(50),

ChineseScore int,

MathScore int

)

insert into ScoresTable values('小张',90,95)

insert into ScoresTable values('小王',98,99)

2.表中查询结果如下

3.现需列转行显示,每行显示 姓名,科目,成绩

实现sql如下:

select * from

(

select Name, Subject ='语文',Scores=ChineseScore from ScoresTable

union all

select Name, Subject ='数学',Scores=MathScore from ScoresTable

) t

order by Name ,Subject

运行结果如下,实现了列转行

相关推荐
张不才12 小时前
CPU 100% 了怎么办?Java 性能排障的标准化操作
java·后端
鱼人12 小时前
Redis、网关负载均衡为什么不能用普通取模哈希?
后端
juejin99813 小时前
Claude Code Lab-3(下):三能力 MCP Server
后端
java小白小14 小时前
SpringBoot(07):事务管理——@Transactional 你真的用对了吗?
后端
shepherd11114 小时前
吞吐量提升 10 倍:高并发大批量数据处理任务的架构演进与性能调优
java·后端·架构
java小白小14 小时前
SpringBoot(05):Spring Data JPA——用面向对象的方式操作数据库
后端
juejin99814 小时前
Claude Code Lab-2(上):自然语言查库助手
后端
java小白小14 小时前
SpringBoot(06):多数据源配置——一个项目连多个库怎么做
后端
程序员cxuan15 小时前
Codex 会把磁盘给烧了?完整复盘来了!
人工智能·后端·程序员
ClouGence16 小时前
Oracle 数据同步为什么会出现数据不一致?长事务是常被忽略的原因
数据库·后端·oracle