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

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

相关推荐
无限大612 分钟前
为什么电脑需要"内存"和"硬盘"?——存储金字塔的秘密
后端
FeelTouch Labs39 分钟前
Nginx核心架构设计
运维·前端·nginx
程序员zgh1 小时前
Linux系统常用命令集合
linux·运维·服务器·c语言·开发语言·c++
gwd2001 小时前
如何快速设置 Docker 代理设置
运维·人工智能·docker·容器
ovensi1 小时前
Docker+NestJS+ELK:从零搭建全链路日志监控系统
后端·nestjs
占疏1 小时前
dify API访问工作流/聊天
开发语言·数据库·python
紫郢剑侠1 小时前
飞秋@Windows +iptux@Linux,打造内网跨平台IM环境
linux·运维·服务器·im·qq
保持低旋律节奏2 小时前
linux——调试
linux·运维·服务器
牛奶咖啡132 小时前
Linux系统故障排查思路实践教程(下)
linux·运维·服务器·su命令切换用户问题解决·文件打开过多问题解决·linux网络故障问题解决·linux故障排查思路
武子康2 小时前
大数据-184 Elasticsearch Doc Values 机制详解:列式存储如何支撑排序/聚合/脚本
大数据·后端·elasticsearch