我有两张桌子
一个是名字游戏
id name area end_date
1 first 14,13 2014-07-25
2 second 15 2014-07-25
另一个表名区域
id name
13 one_area
14 two_area
15 three_area
$today='2014-07-20';(write it to understand query use CURRENT_DATE())
现在我在这里有一个选择框我想要显示不在游戏桌中的区域列表,或者如果游戏表中存在这个游戏结束日期少于今天。
我的查询
select a.* from area as a where a.id NOT IN (
SELECT area FROM game
WHERE date(end_date)>CURRENT_DATE())
它给出的区域id的结果是13
但是没有结果导致14,13在没有比赛的情况下没有添加任何区域而且两个结束日期都不低于今天
答案 0 :(得分:2)
SELECT a.*
FROM area AS a
LEFT JOIN game AS g ON FIND_IN_SET(a.id, g.area) AND DATE(g.end_date) > CURRENT_DATE()
WHERE g.id IS NULL