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

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

相关推荐
czlczl2002092513 小时前
利用“延迟关联”优化 MySQL 巨量数据的深分页查询
数据库·mysql
ACP广源盛1392462567313 小时前
IX8024与科学大模型的碰撞@ACP#筑牢科研 AI 算力高速枢纽分享
运维·服务器·网络·数据库·人工智能·嵌入式硬件·电脑
Elastic 中国社区官方博客13 小时前
ES|QL METRICS_INFO 和 TS_INFO:为你的时间序列数据建立目录
大数据·数据库·elasticsearch·搜索引擎·信息可视化·全文检索
俺不要写代码14 小时前
数据库:函数
数据库·mysql
2401_8822737214 小时前
如何在 CSS 中正确加载本地 JPG 背景图片
jvm·数据库·python
曹牧14 小时前
SQL:多个事务同时修改同一索引块
数据库·sql
峥无14 小时前
Linux系统编程基石:静态库·动态库·ELF文件·进程地址空间全景图
linux·运维·服务器
aXin_ya14 小时前
微服务第八天 Sentinel 四种分布式事务模式
java·数据库·微服务
Ruci ALYS14 小时前
MySQL大小写敏感、MySQL设置字段大小写敏感
数据库·mysql
Daybreak15 小时前
Elasticsearch 里的索引和 Mapping,到底是什么关系?
后端