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

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

相关推荐
高级程序源3 分钟前
springboot大学生体测系统72170-计算机课程设计、毕业设计
java·vue.js·spring boot·后端·python·django·课程设计
祖力556 分钟前
Linux系统移植、烧录与环境的搭建
linux·运维·服务器
码途行者12 分钟前
缓存一致性难题:Redis 和数据库如何做到数据一致?
数据库·redis
对讲机数码科普14 分钟前
从电路原理到协议栈:模拟对讲机与数字对讲机的技术内核拆解
运维·网络·架构·软件工程
SelectDB14 分钟前
Doris VARIANT 速查:类型映射、建表写法、索引配置与常见注意点
大数据·数据库·数据分析
打工仔折腾 AI16 分钟前
极空间用 Docker 部署 Photopea:网页版 PS 的私有化实践
运维·后端·python·docker·容器·langchain·ai agent 实战
l1t27 分钟前
几种数据库软件count(distinct)和count()from group by子查询性能测试
开发语言·数据库
工具人555529 分钟前
Docker 最新超详细版教程
运维·docker·容器
夜雪一千42 分钟前
如何在MySQL中实现字段级加密
android·数据库·mysql
CJi0NG44 分钟前
【自用】MySQL-存储引擎
数据库·mysql