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

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

相关推荐
Reboot2 分钟前
使用cloc统计代码行数
后端
neoooo3 分钟前
当域名遇上家里的电脑:一条隧道通向世界
后端
zjjuejin3 分钟前
Maven依赖管理艺术
后端·maven
RoyLin3 分钟前
TypeScript设计模式:复合模式
前端·后端·typescript
我的小月月7 分钟前
SQLFE:网页版数据库(VUE3+Node.js)
前端·后端
Databend9 分钟前
Databend 亮相 RustChinaConf 2025,分享基于 Rust 构建商业化数仓平台的探索
数据库
Alan5215910 分钟前
Java 后端实现基于 JWT 的用户认证和权限校验(含代码讲解)
前端·后端
RoyLin21 分钟前
TypeScript设计模式:策略模式
前端·后端·typescript
brzhang31 分钟前
为什么说低代码谎言的破灭,是AI原生开发的起点?
前端·后端·架构
得物技术1 小时前
破解gh-ost变更导致MySQL表膨胀之谜|得物技术
数据库·后端·mysql