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

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

相关推荐
武藤一雄1 小时前
C# Prism框架详解
开发语言·后端·微软·c#·.net·wpf
秋刀鱼 ..1 小时前
2025年第二届智能制造与自动化国际研讨会(ISIMA 2025)
运维·人工智能·python·自动化·能源·制造
yy17962610011 小时前
mysql基本结构及操作
数据库
todoitbo1 小时前
时序数据库选型实战指南:国产时序数据库Apache IoTDB的技术对比与实践
数据库·apache·时序数据库·iotdb·国产
谷粒.1 小时前
云原生测试:在分布式系统中的质量保障策略
运维·python·测试工具·云原生·架构·自动化·测试覆盖率
mzlogin1 小时前
如何在 IT 运维中节省开支
运维·devops
赵渝强老师1 小时前
【赵渝强老师】TiDB的备份恢复策略
数据库·mysql·oracle·tidb
程序员爱钓鱼1 小时前
Node.js 编程实战:深入理解回调函数
后端·node.js·trae
苏三说技术1 小时前
新项目为什么推荐WebFlux,而非SpringMVC?
后端
Ditglu.1 小时前
数据库运维(DBA)职业能力提升知识库
运维·数据库·dba