我是MYSQL的新手。我試圖編寫一個查詢來跨多個表進行搜索,但它似乎只評估查詢的第一個條件。我已經開發了查詢:多表查詢
SELECT DISTINCT user.user_id, user_netid, user_firstname, user_lastname,
user_dmid, user_insnum, instype_id, user_birthday, user_insapproved
FROM user, signup, event
WHERE (user.instype_id = 3 OR user.instype_id = 4)
AND signup.signup_attended =1 AND signup.signup_timestamp >= 1325376000
AND (event.activity_id=37 OR event.activity_id=40 OR event.activity_id=5);
我知道這是很長,但就像我說的,我是新來這個,這是我能拿出最好的。無論如何,它似乎只評估user.instype_id,因爲它給了我signup.signup_attended!= 1或user.instype_id後面出現的任何其他條件的記錄。有人可以告訴我我做錯了什麼嗎?
您應該將查詢重寫爲正確的連接類型語法。現在你從3個表中選擇,但沒有指定表之間的任何關係,所以你以笛卡爾連接結束,這會給你帶來很多不好的結果。 – 2012-03-20 15:36:14
歡迎來到Stack Overflow!我總是希望提醒新用戶,通過點贊(一旦獲得20點聲望點)並接受答案(答案旁邊的複選標記),表示讚賞的方法就是通過。如果您有任何疑問,請參考[常見問題],特別是[問] – 2012-03-20 16:19:58