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

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

相关推荐
37手游后端团队几秒前
gorm回读机制溯源
后端·面试·github
古城小栈几秒前
Rust 的 validator 库
开发语言·后端·rust
永远在Debug的小殿下几秒前
wsl安装Ubuntu and ROS2
linux·运维·ubuntu
❀͜͡傀儡师2 分钟前
docker一键部署HFish蜜罐
运维·docker·容器
DO_Community14 分钟前
DigitalOcean容器注册表推出多注册表支持功能
服务器·数据库·docker·kubernetes
dnpao36 分钟前
linux onlyoffice服务向docker容器中添加中文字体
linux·运维·docker
上进小菜猪1 小时前
基于 YOLOv8 的昆虫智能识别工程实践 [目标检测完整源码]
后端
AOwhisky1 小时前
Linux防火墙管理指南
linux·运维·服务器
一只专注api接口开发的技术猿1 小时前
如何处理淘宝 API 的请求限流与数据缓存策略
java·大数据·开发语言·数据库·spring
superman超哥1 小时前
Rust 异步递归的解决方案
开发语言·后端·rust·编程语言·rust异步递归