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

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

相关推荐
DBA小马哥几秒前
Oracle兼容替换案例:某省运营商传输网管系统国产化落地实战
数据库·oracle
酉鬼女又兒3 分钟前
Linux快速入门指南:常用快捷键➕命令行高效操作
linux·运维·服务器
符哥20085 分钟前
家用智能充电桩管理系统 - MySQL 表结构参照文档
数据库·mysql
CodeToGym9 分钟前
【全栈进阶】Spring Boot 整合 WebSocket 实战:从实时告警到金融行情推送
java·后端·spring
小韩加油呀10 分钟前
jenkins声明式pipline和shell从环境变量配置到打包构建再到发布到k8s
运维·kubernetes·jenkins
林shir11 分钟前
3-19-项目部署(Linux)
linux·运维·服务器
顶点多余11 分钟前
Linux第一个系统程序-进度条
linux·运维·服务器
u01092727114 分钟前
高级爬虫技巧:处理JavaScript渲染(Selenium)
jvm·数据库·python
冰暮流星21 分钟前
sql语言之where in语句
数据库·sql
代码AI弗森21 分钟前
NAS 服务器 vs 普通服务器:一场关于「存储中心」与「计算中心」的系统分工之争
运维·服务器