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 小时前
ElasticJob分布式调度从入门到实战
java·后端
Se7en2581 小时前
推理平台全景
后端
大漠_w3cpluscom2 小时前
你学不会 CSS,不是笨,是方向错了
后端
cipher5 小时前
ERC-4626 通胀攻击:DeFi 金库的"捐款陷阱"
前端·后端·安全
毅航6 小时前
自然语言处理发展史:从规则、统计到深度学习
人工智能·后端
JxWang056 小时前
Task04:字符串
后端
树獭叔叔6 小时前
10-让模型更小更聪明,学而不忘:知识蒸馏与持续学习
后端·aigc·openai
JxWang056 小时前
Task02:链表
后端
只会cv的前端攻城狮7 小时前
Elpis-Core — 融合 Koa 洋葱圈模型实现服务端引擎
前端·后端