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

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

相关推荐
我叫黑大帅3 分钟前
add()和 __add__() 写法哪个更好呢?
后端·python·面试
不如语冰5 分钟前
AI大模型入门-Python进阶-上下文管理与with语句
开发语言·数据结构·数据库·人工智能·pytorch·redis·python
Gopher_HBo20 分钟前
moby-daemon-config配置
后端
拉斯特当思20 分钟前
设备总掉线却复现不了?把弱网“造“出来:tcconfig 五种网络故障模拟实战
后端
RainCity23 分钟前
Java Swing 自定义组件库分享(十五)
java·笔记·后端
程序员麻辣烫25 分钟前
Memory向量记忆系统4-文本向量化
后端·aigc
Java编程爱好者26 分钟前
Java 并发锁体系全解:从 synchronized、Lock 到 AQS 底层原理与源码深度剖析
后端
程序员天天困27 分钟前
Java 项目用 Single-flight 一招终结 AI 接口重复调用
redis·后端
farerboy29 分钟前
23-Java 构造函数
java·后端
程序员麻辣烫36 分钟前
Memory向量记忆系统3-数据选取
后端·aigc