我的問題是這樣的: 我需要從「組」表中選擇不包含特定「user_id」的值。 所以我執行此:選擇的值不是「* username *」
SELECT DISTINCT group.active, hide_group.user_id, group.group_id, hide_group.hide, group.desc AS group_desc
FROM group
LEFT JOIN hide_group ON hide_group.group_id = group.group_id
WHERE (
hide_group.user_id != 'testuser'
OR hide_group.user_id IS NULL
AND (
hide != 'true'
OR hide IS NULL
)
)
AND active =1
ORDER BY `group`.`group_id` ASC
LIMIT 0 , 500
但現在可以說,我們已經在我的「group_hide」表中有這樣的記載:
[group_hide]
(user_id, group_id, hide)
john, ABC, true;
joe, ZZZ, true;
mark, ABC, true;
所以現在,當我做我的查詢,馬克仍然可以看到ABC組,因爲該條件是真實且有效的,因爲user_id = john,並且我們爲此採用ABC值,即使它是隱藏標記的。 我試過多次改變這個查詢,但我找不出這個簡單的問題。
另請參閱[此問題](http://stackoverflow.com/questions/5353532/combining-sum-組通過和左聯接-回報,不正確,成果如何對修復/ 5354267#5354267) – jswolf19 2011-03-22 09:21:21