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

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

相关推荐
Livingbody29 分钟前
【心理咨询师数字孪生对话数据集】标准化为 ShareGPT OpenAI 格式
后端
利刃大大36 分钟前
【在线五子棋对战】十一、整合封装服务器模块实现
运维·服务器·c++·项目·五子棋
UU_Yang39 分钟前
Linux跑后台服务
linux·运维·服务器
Clownseven40 分钟前
服务器地域选择指南:深度分析北京/上海/广州节点对网站速度的影响
运维·服务器
2301_7930868741 分钟前
Mysql group by
数据库·mysql
jllllyuz1 小时前
Spring中的事务是如何实现的
数据库·sql·spring
wangmengxxw1 小时前
Spring-常用注解
java·数据库·spring·注解
m0_747266092 小时前
contentprovider实验+SQLite数据库的实现
数据库·sqlite
梅羽落2 小时前
PTE之路--01
运维·网络
AQin10122 小时前
IP 🆚 MAC,你分得清吗?
后端·网络协议