【发布时间】:2011-05-06 20:51:26
【问题描述】:
假设您有一个数据库架构,其中包含与游戏相关的锦标赛。一场锦标赛可能有很多场比赛。
我正在尝试将锦标赛加入到游戏中,并且将来只撤回所有游戏的锦标赛。
SELECT DISTINCT tournaments.*
FROM tournaments
INNER JOIN games ON tournaments.game_id = games.id
WHERE games.event_date >= NOW();
我要加入更多的表,但为了这个示例,我已对其进行了简化。
我的查询是在比赛中并非所有比赛都在未来的情况下撤回结果。
我也尝试将条件移动到连接中:
SELECT DISTINCT tournaments.*
FROM tournaments
INNER JOIN games ON (tournaments.game_id = games.id AND games.event_date >= NOW())
但我得到了相同的结果。
我如何确保所有返回的锦标赛在未来都有比赛 - 即在所有加入的行中强制执行条件?
谢谢!
【问题讨论】: