好吧,我會盡量讓這有道理哈哈。基本上我有4個不同的表,我試圖加入而不是做一些單獨的SQL語句,因爲MYSQL引擎應該能夠比我更好地優化它。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語句,所以如果有一些改進,我可以做,請讓我知道!
謝謝你的時間和幫助!!!!!
Ehh ...我不是一個SQL迷,但我最初的想法是,如果你需要一個項目列表和一個任務列表,這真的是兩個查詢... –
那麼他們都可以通過一個關鍵值。這意味着不用獲取項目,然後獲得這些項目中的任務列表,我希望做1個聲明,使其更快。 –
您是指在PHP中,您將在迭代查詢結果時收集項目列表? –