mysql - 选择一些不存在于另一个 SELECT 资源中的记录

标签 mysql select

我有两个表,一个是对用户提出的问题,另一个是对所有用户提出的所有问题,我想选择具有更高 ID(所以它是新的)的问题未发送给给定用户...我的意思是:

第一个表有3个字段:
id,questionid,userid 其名称为userQuestions

其他表称为 questions 并且有 2 个字段:

`qid` and `qText`

当然 qid = quesionid

对于给定的 userid,我如何选择所有未呈现给 userid 的问题?

假设我有:

`qid` = 1 , `qtext` = 'qtext1'
`qid` = 2 , `qtext` = 'qtext2'
`qid` = 3 , `qtext` = 'qtext3'

在另一张 table 上:

id = 1,questionid = 1,userid = 90

所以这个假设的 SELECT 应该返回 qid = 2 qid = 3

我希望我已经解释清楚了...

最佳答案

SELECT * FROM questions WHERE qid NOT IN(SELECT questionid FROM userQuestions WHERE userid = 90);

简单明了

关于mysql - 选择一些不存在于另一个 SELECT 资源中的记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14216537/

相关文章:

mysql - 如何获取不遵循 has_one 关联的对象列表?

mysql - "Plugin ' 0 ' is not loaded"

java - MySQL "LOAD DATA IN File"使用 JDBC Connector/J

mysql自定义函数在带有限制子句的select中调用

javascript - 选择该颜色的选择列表选项时如何更改文档背景颜色

python - 如何自定义表单的属性。在 Django 中选择选项

mysql - 如何对重复值进行分组以找到系列的开始和结束?

sql - 我如何订购商品和子商品?

mysql - 如何改进 insert into select 等待表行为

mysql - 从连接更新语句