mysql - 在 MySQL 中使用 NOT IN 和 OR 无法按预期工作

标签 mysql sql

我正在尝试编写一个查询,如果另一个表中不存在该 id,或者该 id 确实存在并且还满足第二个条件,则该查询将允许我从一个表中获取任何记录。下面是我尝试做的,但它总是返回 0 行:

SELECT p.pageid, p.pager FROM pages p, updates u
WHERE p.pageid NOT IN (SELECT pageid FROM updates)
   OR (p.pageid = u.pageid AND u.pagenums > 1000) LIMIT 100

据我所知,这应该有效,但事实并非如此。如有任何帮助,我们将不胜感激。

最佳答案

也许尝试使用此查询

select p.pageid, p.pager from pages p where p.pageid not in (select pageid from updates)
union
select p.pageid,p.pager from pages p, updates u where p.pageid = u.pageid and u.pagenums > 1000

关于mysql - 在 MySQL 中使用 NOT IN 和 OR 无法按预期工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7339079/

相关文章:

sql - 如何创建一个聚合函数来返回最后n条记录?

sql - 如何在 SQL Server 数据库表中使用 X 和 Y 网格坐标选择一圈数据?

mysql - 获取对话列表查询

php - 我们如何在后台运行sql查询

python - 通过左连接 SQL 和 Pandas 合并数据帧

sql - GROUP BY 列相等或为 NULL 的连续行

Mysql左连接没有来自左表的重复值和它的最后一个值

javascript - 在 MySQL 数据库中保存 Canvas

mysql - 选择外键 MySQL

mysql - SQL:将日期 (26.11.17) 转换为时间戳 (1516184035)