我需要一些有关 mysql 查询的帮助。
我有三张桌子:
- 成员(ID、姓名、公司)
- 问题(id,问题)
- questionanswerxref(id,userid,questionid,answer)
当成员回答预定义的问题时,它被插入到 questionanswerxref 表中。随着情况的变化和时间的推移,他们最终会多次回答相同的问题。我需要运行一个查询,该查询将为我提供每个问题和特定成员的最新答案(我根据登录者添加 memberid)。
到目前为止,我有以下内容,但我已经尝试了它的几个变体如果他们没有回答问题,我也想在没有答案的情况下显示它。
SELECT MAX( qq.id ) , coalesce( qq.answer, '' ) AS answer, q.question
FROM `questionanswerxref` qq
LEFT JOIN questions q ON q.id = qq.questionid
WHERE qq.userid = ".mysql_real_escape_string($userid)."
GROUP BY qq.id,q.id
ORDER BY q.id"
另一个版本是..
select q.id,q.question, coalesce(qq.answer,'') as answer from questions q
left join questionanswerxref qq on q.id = qq.questionid AND qq.userid = ".mysql_real_escape_string($userid)."
group by q.id,qq.id
我不断收到很多问题。因此,如果他们回答相同的问题 4 次,则会显示每个问题。我只想要他们提交的最后一个答案。
似乎应该很容易,但我很难过。