MySQL:如何选择表A上没有出现在表B上的所有寄存器?
我需要发现哪些寄存器在表A上,哪些不在表B上 但是-不仅如此-我只需要类型为2的问题-以及来自用户ID 1的答案MySQL:如何选择表A上没有出现在表B上的所有寄存器?,mysql,join,outer-join,Mysql,Join,Outer Join,我需要发现哪些寄存器在表A上,哪些不在表B上 但是-不仅如此-我只需要类型为2的问题-以及来自用户ID 1的答案 Table A: QUESTIONS QUESTIONID QUESTION TYPE 1 ABC 1 2 DEF 2 3 GHI 2 4 JKL 2 Table B: ANSWERS ANSWERID QUESTIONID USERID 1
Table A: QUESTIONS
QUESTIONID QUESTION TYPE
1 ABC 1
2 DEF 2
3 GHI 2
4 JKL 2
Table B: ANSWERS
ANSWERID QUESTIONID USERID
1 1 1
2 1 2
3 2 1
4 4 1
RESULT:
QUESTIONID
3
我尝试了很多连接,但没有人返回正确的结果
SELECT * FROM QUESTIONS
LEFT JOIN ANSWERS ON QUESTIONS.QUESTIONID = ANSWERS.QUESTIONID
WHERE TYPE = 2 AND USERID = 1
有什么想法吗?现有查询应该在这里工作:
SELECT a.QUESTIONID
FROM TableA a
WHERE
a.TYPE = 2 AND
NOT EXISTS (SELECT 1 FROM TableB b
WHERE a.QUESTIONID = b.QUESTIONID AND b.USERID = 1);
嗨@Tim Biegeleisen-首先感谢你宝贵的时间来帮助我!对工作正常,但用户1仅回答类型2的问题无法解决问题。也许我需要完成where条款,对吗?@DANIEL抱歉,我要么没有读完整的问题,要么错过了那个要求。检查更新的答案。嗨@Tim Bielgelisen-太好了!现在一切正常!!太多了!!:D