sql server如何把查询的多行记录显示在一行上面:
例如下面的学生成绩表,想把多个学科的成绩显示在一列上面
![](https://profile-avatar.csdnimg.cn/default.jpg!4)
sql server如何把查询的多行记录显示在一行上面
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
2条回答 默认 最新
- qq_26007951 2022-11-10 07:54关注
--行列转置
select 学号='1',姓名='张三',课程='语文',成绩='99'
into #base1
union
select 学号='1',姓名='张三',课程='数学',成绩='105'
union
select 学号='2',姓名='李四',课程='语文',成绩='99'
union
select 学号='2',姓名='李四',课程='数学',成绩='105'
union
select 学号='2',姓名='李四',课程='外语',成绩='110'
union
select 学号='3',姓名='王五',课程='语文',成绩='89'
union
select 学号='3',姓名='王五',课程='数学',成绩='130'
union
select 学号='3',姓名='王五',课程='外语',成绩='89'
union
select 学号='3',姓名='王五',课程='物理',成绩='80'
union
select 学号='3',姓名='王五',课程='历史',成绩='85'select * from #base1
select 学号,姓名,[语文],[数学],[外语],[物理],[历史] from #base1
pivot(max(成绩) for 课程 in ([语文],[数学],[外语],[物理],[历史]))pvt本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥15 metadata提取的PDF元数据,如何转换为一个Excel
- ¥15 关于arduino编程toCharArray()函数的使用
- ¥100 vc++混合CEF采用CLR方式编译报错
- ¥15 coze 的插件输入飞书多维表格 app_token 后一直显示错误,如何解决?
- ¥15 vite+vue3+plyr播放本地public文件夹下视频无法加载
- ¥15 c#逐行读取txt文本,但是每一行里面数据之间空格数量不同
- ¥50 如何openEuler 22.03上安装配置drbd
- ¥20 ING91680C BLE5.3 芯片怎么实现串口收发数据
- ¥15 无线连接树莓派,无法执行update,如何解决?(相关搜索:软件下载)
- ¥15 Windows11, backspace, enter, space键失灵