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

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

相关推荐
zhangfeng113311 分钟前
CI/CD 是软件开发中的两个核心实践,合起来指代一套自动化的软件交付流程
运维·ci/cd·自动化
嵌入式×边缘AI:打怪升级日志26 分钟前
Tina SDK Linux Kernel 基本使用(实战篇:为7寸RGB LCD触摸屏添加驱动支持).md
linux·运维·服务器
万事大吉CC38 分钟前
【3】深入剖析 Django 之 MTV:路径引用与资源加载机制
数据库·django·sqlite
十 一 丶38 分钟前
如何在客户端实现ssh的免密登录?
运维·rust·ssh
Hical_W43 分钟前
用 Hical + MySQL 5 分钟搭建 CRUD API(C++20 协程版)
数据库·mysql·c++20
AIMath~1 小时前
agent上下文和模型的上下文区别
数据库
G.晴天1 小时前
Linux常用命令练习流程
java·linux·运维·服务器·tomcat
与遨游于天地1 小时前
分布式锁从Redis到Redisson的演进
数据库·redis·分布式
夕除1 小时前
spring boot
java·spring boot·后端