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

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

相关推荐
少妇的美梦6 分钟前
logstash教程
运维
J2K26 分钟前
JDK都25了,你还没用过ZGC?那真得补补课了
java·jvm·后端
EMQX26 分钟前
ESP32 + MCP over MQTT:通过大模型控制智能硬件设备
后端·mcp
郭京京28 分钟前
go框架gin(中)
后端·go
郭京京28 分钟前
go框架gin(下)
后端·go
林树的编程频道29 分钟前
单例模式的推导
后端
chen94529 分钟前
k8s集群部署vector日志采集器
运维
就是帅我不改30 分钟前
揭秘Netty高性能HTTP客户端:NIO编程的艺术与实践
后端·面试·github
Ray6634 分钟前
SugLucene索引构建
后端
chen94535 分钟前
aws ec2部署harbor,使用s3存储
运维