我在给定特定用户ID时尝试从我的数据库中选择所有项目和任务。
表格如下:
Users: UserID
Projects: ProjectID, UserID
Tasks: TaskID, ProjectID
我已经尝试过嵌套查询,表连接等等,但到目前为止我还不是SQL专家,而且我很难得到我需要的东西。我可以从特定的用户ID获取所有任务,但是在ProjectID上使用内部联接,这意味着它不会返回具有0个任务作为项目的项目,而没有任何任务无法加入。
答案 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 = ?
这将返回所有用户,无论他们是否在projects
或tasks
表中都有记录。