2010-05-12 82 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%')