本帖最后由 wwbb 于 2024-7-24 13:25 编辑
这个时候可能需要用到视图来完成
先看效果:
主表:
从表:
视图sql:
- SELECT
- z.姓名,
- z.年龄,
- z.性别,
- z.班级,
- MAX(CASE WHEN c.[课程] = '语文' THEN c.[成绩] ELSE NULL END) AS 语文,
- MAX(CASE WHEN c.[课程] = '数学' THEN c.[成绩] ELSE NULL END) AS 数学,
- MAX(CASE WHEN c.[课程] = '英语' THEN c.[成绩] ELSE NULL END) AS 英语
- FROM
- [主表] z
- LEFT JOIN
- [从表] c ON z.[姓名] = c.[姓名]
- GROUP BY
- z.[姓名], z.[年龄], z.[性别], z.[班级]
复制代码
|