2017-04-01 57 views
0

我想从我的表,得到行: 都具有一个相同的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结合(正确地是肯定的)

回答

3

where子句来了group by后。此外,请使用正确的ON子句进行加入。

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