目前,我有以下MySQL查詢,其中沒有任何錯誤,執行罰款:WHERE子句不符合我的意圖嗎?
SELECT topic_id,
topic_title,
topic_author,
topic_type
FROM forum_topics
WHERE (((forum_id = '2')
OR (forum_id != '4'
AND topic_type = 2))
AND deleted = 0)
ORDER BY topic_id DESC
但是它沒有做什麼,我想讓它過,我想它返回主題的所有結果,其中forum_id爲2,刪除等於0以及返回forum_id不等於4且topic_type爲2並且刪除等於0(如果它們存在)的主題的結果。
但目前它只是做第一個剛剛返回的主題結果,其中forum_id是2,刪除等於0而不是其他(即使它們存在!:/)。
我相信我在做錯事...
所有的幫助是非常感謝。
什麼是表的結構?是topic_type數字?爲什麼在使用數字時id是一個字符串? (它不會真的影響任何東西,但它是數字類型是有意義的)。 – 2011-06-13 19:40:09