2011-09-07 39 views
0

我試圖編寫一個查詢,該查詢將允許我從一個表中獲取任何記錄,如果該ID不存在於另一個表中,或者它確實存在並且它也符合第二個標準。下面是我試圖這樣做,但它總是返回0行:使用NOT IN和OR沒有按照預期在MySQL中工作

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

對不起,那是一個錯字。表/列名稱都是正確的。 – Samsquanch

+0

第一個「更新」表應該是「更新」? – wildplasser

回答

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 
+0

我認爲這可能正是我所期待的,謝謝。 – Samsquanch