MYSQL php几个表不起作用

时间:2011-10-19 16:06:01

标签: php mysql database if-statement

请仔细阅读以便您理解这个问题。这个问题适用于大学的作业。

有两个表,一个是Answer表,另一个是StudentAnswer表。我感兴趣的有6个领域,答案表有4个,StudentAnswer表有2个。以下是表格及其字段和数据。

3 个答案:

答案 0 :(得分:0)

你需要在mysql中查看子查询,你的最终答案可能会像这样看待......

SELECT * FROM Question q
    INNER JOIN (SELECT sa.QuestionId, sa.StudentAnswer, at.AnswerContent FROM StudentAnswer sa LEFT JOIN Answer at ON (sa.StudentAnswer = at.AnswerId AND sa.QuestionId = at.QuestionId) sq ON q.QuestionId = sq.QuestionId
    JOIN Answer a ON sq.QuestionId = a.QuestionId  
WHERE
    (CorrectAnswer = '1')
ORDER BY $orderfield ASC

但是如果没有一个完整的架构,我无法真正帮助,我也会说小心我在大学(哈德斯菲尔德)的所有导师因为搜索他们的作业片段而臭名昭着,所以我希望这有帮助而不会得到你陷入困境

答案 1 :(得分:0)

我相信左联是你正在寻找的。

SELECT * FROM `StudentAnswer` as sa
  LEFT JOIN (SELECT * FROM `Question` WHERE correct = 1) as q
  ON `sa`.Questionid = q.id

答案 2 :(得分:0)

您可以在查询中多次加入Answer,只需确保为其提供不同的别名即可。 WHERE子句和JOIN条件的组合现在可以为您提供问题的正确答案;考虑一下如何将StudentAnswerAnswer联系起来。