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

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

相关推荐
掘金酱几秒前
2025年度稀土掘金影响力榜单发布!
前端·人工智能·后端
程序员侠客行5 分钟前
Mybatis二级缓存实现详解
java·数据库·后端·架构·mybatis
源码获取_wx:Fegn08955 分钟前
基于springboot + vue健康茶饮销售管理系统
java·vue.js·spring boot·后端·spring
幺零九零零15 分钟前
Docker底层- 命令详解
运维·docker·容器
Tipriest_17 分钟前
linux中的文本分接流tee命令介绍
linux·服务器·数据库
爱喝水的鱼丶18 分钟前
SAP-ABAP:在SAP世界里与特殊字符“斗智斗勇”:一份来自实战的避坑指南
运维·服务器·数据库·学习·sap·abap·特殊字符
阿拉伯柠檬19 分钟前
MySQL内置函数
linux·数据库·mysql·面试
磊 子19 分钟前
第四章:网络层
运维·服务器·网络·计算机网络·运输层
雅俗共赏zyyyyyy20 分钟前
SpringBoot集成配置文件加解密
java·spring boot·后端
小Mie不吃饭24 分钟前
2025 Oracle小白零基础到入门的学习路线
数据库·oracle