如何使用“not”语句检索数据?

时间:2015-08-06 00:59:42

标签: php mysql

我一直在测验脚本中工作。 问题由rand()查询选择。

        table question
    +--------------------------------+
    |   question_id   |   question   |
    |         1       |     test?    |
    |         2       |     test 2?  |
    |--------------------------------+

如果用户回答问题1,它将保存在此处:

        table answered

    id  |  user_id  | q_answered |  
    6   |    4      |      1     |
    -----------------------------+

我希望用户只能得到他未回答的问题。只有question_id不在q_answered中。 喜欢: “select * from questions where questions_id =!from table_answered(q_answered)”

如何进行PHP / Mysql查询?

1 个答案:

答案 0 :(得分:0)

您可以使用NOT IN子句:

SELECT *
FROM questions
WHERE id NOT IN (SELECT question_id FROM answered WHERE user_id = ?)

这将获得给定用户未回答的所有问题(?是PHP中的绑定参数)。

Working SQL fiddle