使用INNER JOIN进行选择不起作用

时间:2017-04-01 20:16:32

标签: php mysql sql

我想从我的表中获取行: - 具有相同的id参数 - 的日期低于今天

这是我的任务表结构:

id | title | project_id | date

项目表:

id | name 

所以,我的查询也应该给我项目名称。

我写了这样的话:

$query= 'SELECT *
        FROM tasks WHERE (user_id = :id AND date < CURDATE())
        INNER JOIN projects
        WHERE project_id = projects.id';

这里有什么不对?

如果没有组合INNER JOIN和WHERE,查询工作正常:

'SELECT * FROM tasks INNER JOIN projects WHERE project_id = projects.id';

'SELECT * FROM tasks FROM tasks WHERE (user_id = :id AND date < CURDATE())'

有什么想法吗?谢谢!

:id参数与PDO绑定(正确无误)

1 个答案:

答案 0 :(得分:3)

where子句位于group by之后。另外,使用适当的ON子句进行加入。

select *
from tasks
join projects on tasks.project_id = projects.id
where user_id = :id
    and date < CURDATE()