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

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

相关推荐
321茄子7 小时前
MySQL 事务隔离性及锁
java·数据库·mysql
盛小夏2点0版7 小时前
🚀 Java 小白到高手:一篇吃透语法、集合、并发、Web 全流程!
后端
凉、介7 小时前
Linux 下的 time_before/time_after 接口
linux·运维·服务器·学习
w***95497 小时前
MySQL无法连接到本地localhost的解决办法2024.11.8
数据库·mysql·adb
z***3357 小时前
PON架构(全光网络)
网络·数据库·架构
n***78688 小时前
PostgreSQL 中进行数据导入和导出
大数据·数据库·postgresql
f***S2448 小时前
MyBatis-Plus 自定义 SQL 和复杂查询
数据库·sql·mybatis
1***Q7848 小时前
后端在微服务中的服务路由
java·数据库·微服务
R***62318 小时前
Spring数据库原理 之 DataSource
java·数据库·spring