[英]MYSQL Join Statement - Optional Tables?
好的,我會盡力使這個有意義lol。 基本上我有4個不同的表我試圖加入而不是做幾個單獨的SQL語句,因為MYSQL引擎應該能夠比我更好地優化它。
基本上我有這4個表:
projects (key:id)
project_users (key:project_id , user_id)
users (key:id)
tasks (key:project_id)
這是我的查詢:
SELECT projects.*, users.*, tasks.*,
FROM
projects JOIN ( project_users JOIN
users ON
project_users.user = users.id )
ON projects.id = project_users.project_id
JOIN ( tasks )
ON projects.id = tasks.project_id
WHERE projects.company = 2 ORDER BY projects.id
基本上我正在嘗試獲取項目列表,該項目中的用戶以及該項目中某個公司的任務。
問題 - 如果這個項目中沒有任務,它就不會返回該項目。 我仍然需要該項目,只需要該項目的0個任務。
我是JOIN語句的新手,所以如果我能做些改進,請告訴我!
謝謝你的時間和幫助!!!!!
您需要做的就是在加入任務的連接之前添加left outer
。 即使沒有任務,這也可以為您提供項目。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.