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

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

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