2010-05-12 81 views
0

這裏是我的SQL語句,我想查找所有狀態爲0的遊戲,以及像key_word或運動的名稱那樣的關鍵詞的團隊名稱。 問題是所有顯示的遊戲都沒有狀態0。 我在做什麼錯?如何在嵌套SQL查詢中使用條件?

sql="select * from games where games.status=0 and games.team_2_id 
    IN (select id from teams where name like '"+key_word+"') 
     or games.team_1_id 
     IN (select id from teams where name like '"+key_word+"') 
      or games.sport like '"+key_word+"' 
      " 

回答

3

它看起來像你只需要單獨附上OR條件括號:

SELECT * 
FROM games 
WHERE games.status = 0 AND 
     (games.team_2_id IN (SELECT id FROM teams WHERE name LIKE '%key_word%') OR 
     games.team_1_id IN (SELECT id FROM teams WHERE name LIKE '%key_word%') OR 
     games.sport LIKE '%key_word%')