我有这个考试表和答案表。我想取所有考试=000663的记录
SELECT COUNT(*)
FROM Responses r
JOIN Exams E ON r.category_id_fk = E.id
AND r.exam_id_fk = 000663
实际上,总共有106行只包含考试000663的答案。但它返回所有考试的所有响应行!它不应该考虑r.exam_id_fk=000663吗?
我没有使用where子句,因为我有3个其他表加入到这个查询中。
最佳答案
000663条件属于WHERE
子句,而不是JOIN
关系条件。即使有其他表(作为子查询)加入,也可以使用WHERE
子句。
select count(*)
from Responses r
join Exams E on r.category_id_fk = E.id
WHERE r.exam_id_fk=000663;
关于mysql - MYSQL加入困惑,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7768512/