我有一個非常簡單的查詢,「我想要所有沒有role_type爲'GROUP'的user_id。下面的sqlfiddle給出了我想要的http://sqlfiddle.com/#!2/0a9640/1的正確結果,但是當我運行查詢在我的實際MySQL數據庫也不會返回2個結果與USER_ID = 13565和我不知道爲什麼。NOT IN缺少結果
子查詢給出了統一的答案8301的確,如果我手動輸入該數值到 括號,即
select * from role
where role.user_id not in (
select role.user_id
from role
where role.role_type = 'GROUP'
)
and (group_id=1465 or group_id=6314)
order by user_id
然後,2失蹤的結果以某種方式重新出現任何想法爲什麼這些結果被剝離當我使用子查詢w ith不在?
是'那些行group_id'空? – Ben 2014-09-22 10:02:00
不要向我們顯示它的工作數據,但它不起作用的數據。 – fancyPants 2014-09-22 10:05:36
@Ben,這些行的group_id不爲NULL,數據與SQLfiddle中的數據完全相同(它缺少一個role_id列,但它也不爲NULL) – DrDan 2014-09-22 11:08:05