如何在嵌套SQL查询中设置条件?
这是我的SQL语句,我想找到所有状态为0的游戏以及与关键字类似的球队名称或与关键字类似的运动名称。 问题是显示的所有游戏都没有状态0。 我做错了什么如何在嵌套SQL查询中设置条件?,sql,activerecord,mysql,Sql,Activerecord,Mysql,这是我的SQL语句,我想找到所有状态为0的游戏以及与关键字类似的球队名称或与关键字类似的运动名称。 问题是显示的所有游戏都没有状态0。 我做错了什么 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
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+"'
"
看起来您只需要将
或
条件分别放在括号中:
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%')
看起来您只需要将
或
条件分别放在括号中:
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%')