使用NOT IN和OR在MySQL中无法正常工作

时间:2011-09-07 18:56:58

标签: mysql sql

我正在尝试编写一个查询,如果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

据我所知,这个应该工作,但事实并非如此。任何帮助表示赞赏。

1 个答案:

答案 0 :(得分:1)

也许尝试使用此查询

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