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

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

相关推荐
TDengine (老段)几秒前
TDengine 高级功能——读缓存
大数据·数据库·缓存·时序数据库·tdengine·涛思数据·iotdb
一张假钞5 分钟前
Linux 下 ChromeDriver 安装
linux·运维·服务器
雷神乐乐5 分钟前
Oracle中的循环——FOR循环、WHILE循环和LOOP循环
数据库·sql·oracle·循环
shark-chili8 分钟前
Java并发编程哲学系列汇总
linux·运维·服务器·操作系统
wxgnolux9 分钟前
Oracle 故障实例 - 通过备份恢复到某时间点 故障恢复
数据库·oracle
阿火~9 分钟前
【亲测有效】Mybatis-Plus中更新字段为null
数据库·mysql·mybatis
weixin_3077791312 分钟前
Neo4j 备份与恢复:原理、技术与最佳实践
运维·数据库·neo4j
未来影子17 分钟前
SpringAI(GA):Nacos2下的分布式MCP
后端
用户8681812480417 分钟前
【ruoyi-vue-pro】用户相关的设计
后端
背太阳的牧羊人24 分钟前
docker 中 什么是「卷」?(Volume)
运维·docker·容器