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 小时前
【Linux】System V消息队列与责任链模式
linux·运维·责任链模式
悄悄敲敲敲7 小时前
MySQL表的约束
数据库·mysql
G_H_S_3_7 小时前
【网络运维】Docker 存储:镜像层与数据卷的管理应用
linux·运维·网络·docker
鼠爷ねずみ7 小时前
SpringCloud前后端整体开发流程-以及技术总结文章实时更新中
java·数据库·后端·spring·spring cloud
九皇叔叔8 小时前
MySQL 数据库 Read View 详解
数据库·mysql·mvcc·read view
oden9 小时前
0成本搭建!20分钟用 Workers AI + Vectorize 搞定 RAG(附全套源码)
后端
Elastic 中国社区官方博客9 小时前
Elasticsearch:圣诞晚餐 BBQ - 图像识别
大数据·数据库·elasticsearch·搜索引擎·ai·全文检索
cui_win9 小时前
Prometheus实战教程 - Redis 监控
数据库·redis·prometheus
不会画画的画师9 小时前
Go开发指南:io/ioutil包应用和迁移指南
开发语言·后端·golang