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

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

相关推荐
学习 来了来了5 分钟前
权限相关代码-表
数据库
薪火铺子8 分钟前
MySQL 分库分表实战:ShardingSphere 深度解析
数据库·mysql
lifewange12 分钟前
查询【学过 001 号同学所有课程】的学生
数据库
ErizJ20 分钟前
Redis|腾讯面经总结
数据库·redis
Java技术小馆31 分钟前
如何零成本将各种 AI 编程工具接入免费大模型?
后端
瀚高PG实验室1 小时前
left link changed unexpectedly in block xxxx of index ““index_xxxxx“
数据库·postgresql·瀚高数据库
一只幸运猫.1 小时前
核心概念层——深入理解 Agent 是什么
大数据·数据库·人工智能
川石课堂软件测试1 小时前
软件测试|常见面试题整理
数据库·python·jmeter·mysql·appium·postman·prometheus
Tutankaaa1 小时前
从10队到50队:知识竞赛软件的高并发场景如何设计?
java·经验分享·后端·spring
●VON1 小时前
小米突然发短信:送你100万亿Token!有人已收到,有人还没?手把手教你白嫖
数据库·人工智能·skills