如何检查mysql查询中的2个唯一字段

如何检查mysql查询中的2个唯一字段,mysql,Mysql,我有两张桌子: 问题: ----------------------- active | question | qid ----------------------- 1 | "bla" | 5 1 | "bla" | 6 1 | "bla" | 7 0 | "bla" | 8 答复: ----------------------- userid | answer | qid -----------------------

我有两张桌子: 问题:

-----------------------
active | question | qid
-----------------------
   1   |   "bla"  | 5
   1   |   "bla"  | 6
   1   |   "bla"  | 7
   0   |   "bla"  | 8
答复:

-----------------------
userid | answer   | qid
-----------------------
   1   |   "bla"  | 6
   2   |   "bla"  | 5
userid和qid是唯一的 我希望活动的问题(问题,qid)是1,并且用户x没有回答它

我有密码:

SELECT DISTINCT questions.qid , questions.question
FROM questions
JOIN answers on (answers.userid = 1)
where questions.active = 1 and (answers.qid != questions.qid)
但是它只适用于用户1(给我们qid:5,7)。 我想升级代码,这对用户3也很好(将给我们qid:5,6,7)


谢谢

这是一个您可以使用的案例:

SELECT DISTINCT q.qid , q.question
FROM questions q
WHERE q.active = 1 
AND NOT EXISTS (
  SELECT 1 FROM answers
  WHERE userid = 1 AND qid = q.qid
)

您可以将
WHERE userid=1
更改为
WHERE userid IN(1,2,3)
,以检查是否有多个用户。

这是一种可以使用的情况:

SELECT DISTINCT q.qid , q.question
FROM questions q
WHERE q.active = 1 
AND NOT EXISTS (
  SELECT 1 FROM answers
  WHERE userid = 1 AND qid = q.qid
)
您可以将
WHERE userid=1
更改为
WHERE userid IN(1,2,3)
以检查多个用户