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

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

相关推荐
Solis5 分钟前
Raft:分布式系统的定海神针
后端·架构
程序员老申5 分钟前
第三篇 5 天 12 个 commit:踩坑实录与代码演进
后端·程序员
程序员鱼皮6 分钟前
提示词工程已死,Loop Engineering 称王!保姆级教程 + 项目实战
前端·后端·ai编程
小狮子&7 分钟前
ubuntu2604无法共享文件夹问题解决
linux·运维·服务器
biter down8 分钟前
3:VMware Workstation 安装 Ubuntu 22.04 超详细教程
linux·运维·ubuntu
zhping101117 分钟前
Ubuntu 登录密码忘记
运维·服务器·ubuntu
wh_xia_jun18 分钟前
Playwright 自动化实战指南 - 以 12306 余票查询为例
运维·自动化
凡人叶枫25 分钟前
Effective C++ 条款39:明智而审慎地使用 private 继承
java·数据库·c++·嵌入式开发
Mininglamp_271825 分钟前
Vibe Coding 之后是 Vibe Operating?
后端·开源·多智能体·ai agent·mano-p
基德爆肝c语言28 分钟前
MySQL表的操作
前端·数据库·mysql