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

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

相关推荐
数智化管理手记1 分钟前
全面预算管理执行偏差大?全面预算管理全流程落地步骤是什么
大数据·网络·数据库·人工智能·数据挖掘
Zsy_0510035 分钟前
【Linux】笔记01:基础命令
linux·运维·服务器
倔强的石头_17 分钟前
SQL 语法全兼容,但结果就是不一样——国产化迁移里最难缠的九类隐患
数据库
月落归舟17 分钟前
谈谈SpringMVC底层原理
后端·springmvc
夕除21 分钟前
请求区别及app网站区别
后端
w1395485642231 分钟前
鸿蒙原生开发手记:徒步迹 - 图片加载与缓存优化
后端
砍材农夫34 分钟前
运维|devops|nginx|基本配置拆解
运维·nginx·devops
程序员爱钓鱼1 小时前
Rust 数组 Array 详解:定义、访问、遍历与切片
后端·rust
kobe_OKOK_1 小时前
django外键字段会自动在数据库字段后面加上_id
数据库·django·sqlite
糖果店的幽灵1 小时前
【langgraph 从入门到精通graphApi 篇】Memory 与长期记忆
运维·服务器·人工智能·langgraph