【发布时间】:2014-01-25 15:38:47
【问题描述】:
我有这3张桌子
- 学生桌
[student_id(pk), firstname, lastname] - 主题表
[subject_id(pk), subject_title] - 成绩表
[score_id(pk), score, student_id(fk), subject_id(fk)]
有没有一种方法可以让我提出一个查询,以便我可以以这种形式将它显示到一个表中:
_______________________________________
|学生姓名 |主题 1 |主题 2 |主题 3 |
-------------------------------------------------- ------------
|__学生1___|___98____|___92___|___97___|
|__学生2___|___93____|___91___|___95___|
|__学生3___|___95____|___92___|___97___|
|__学生4___|___97____|___95___|___91___|
学生姓名来自学生表
Subject 1, Subject 2, Subject 来自于 Subject 表的唯一记录
然后
成绩表中的成绩
有可能还是我的数据库架构设计不好?
这是表格记录
【问题讨论】:
-
您能否提供会导致该特定输出的输入数据?
-
你是说每张表的记录吗?
-
你的餐桌设计不错。您要查找的结果称为
PIVOT。通常由报告层负责,但在 SQL 中很有可能。 - 或者,可以使用多个 JOIN 创建它。 -
@JLineses 。 . .是的,我就是这个意思。
-
嗨,@MarkD 你能给我一些指导吗?我对 sql 查询很陌生。