2013-01-10 39 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表中的記錄。

相關問題