0

当给定特定的用户 ID 时,我试图从我的数据库中选择所有项目和任务。

表格如下:

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

我已经尝试过嵌套查询、表连接等,但到目前为止我还不是 SQL 专家,我正在努力获得我需要的东西。我可以从特定的用户 ID 获取所有任务,但是在 ProjectID 上使用内部联接,这意味着它不会返回具有 0 个任务的项目,因为没有任务的项目没有任何可加入的内容。

4

1 回答 1

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

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

于 2013-01-10T20:17:59.213 回答