您可以分阶段构建查询。第一件事是你在关注一个反馈评论列表,所以从这个简单的select query开始:
SELECT * FROM Feedback_master
上面列出了来自各地的所有反馈,但您想将其限制为仅针对特定教师的反馈,所以让我们添加一个Where clause:
SELECT * FROM Feedback_master
WHERE Feedback_master.f_id = @f_id
现在我们得到了正确的记录列表,但是字段列表是错误的。您需要在 Feedback_master 表中没有的教师姓名和学科名称; subject_master 和faculty_master 表是链接在一起的,假设每个remark 都有一个subject ID 和一个faculty ID,我们可以使用一个简单的inner join 来链接表:
SELECT * FROM Feedback_master
INNER JOIN subject_master ON Feedback_master.sub_id = subject_master.sub_id
INNER JOIN faculty_master ON Feedback_master.f_id = faculty_master.f_id
WHERE Feedback_master.f_id = @f_id
现在它从三个表中提取所有字段;这包括我们需要的所有字段,所以我们现在可以在 Select 子句中简单地命名它们:
SELECT
faculty_master.f_name, subject_master.sub_name, Feeback_master.remark
FROM Feedback_master
INNER JOIN subject_master ON Feedback_master.sub_id = subject_master.sub_id
INNER JOIN faculty_master ON Feedback_master.f_id = faculty_master.f_id
WHERE Feedback_master.f_id = @f_id