mysql查询不起作用

时间:2014-07-20 08:58:44

标签: php mysql sql

我有两张桌子

一个是名字游戏

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在没有比赛的情况下没有添加任何区域而且两个结束日期都不低于今天

1 个答案:

答案 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

DEMO