2013-01-10 40 views
0

我想在给定特定用户ID时从我的数据库中选择所有项目和任务。为特定用户ID选择所有项目和任务

的表如下所示:与嵌套查询

Users: UserID 
Projects: ProjectID, UserID 
Tasks: TaskID, ProjectID 

我试过的东西,表连接等,但我远远没有我SQL专家,我努力让我需要什么。我可以从特定的用户标识获取所有任务,但在ProjectID上使用Inner Join,这意味着它不会返回具有0任务的项目作为项目,没有任何任务可以加入。

回答

1

您需要使用LEFT JOIN返回数据:

select * 
from users u 
left join projects p 
    on u.userid = p.userid 
left join tasks t 
    on p.projectid = t.projectid 
where u.userid = ? 

SQL Fiddle with Demo

这将返回所有用户,无论他们是否有在projectstasks表中的记录。

相关问题