2017-05-08 79 views
1

首先,我不是在所有的SQL精通,所以這是一個艱鉅的任務,但這裏是我到目前爲止:MySQL的加入一個表,然後再加入新的表與自身

SQL Fiddle

正如你所看到的,我有一個項目管理軟件項目,我試圖從它建立一個報告。似乎主要是我得到我需要的數據,除了我無法獲得父任務名稱。

任務表包括ID,名稱等,以及專門用於父任務ID的列。所以它需要被連接到它自己,以便我可以獲得該父任務的名稱。但在同一次運行中,我從timelogs表開始,嘗試加入其他一些表以獲取其他信息。

在我的生產數據庫中,例如,我也有一個公司表,所有項目都有一個id,所以我需要在某些時候將它們連接在一起。

所以這裏的問題:

爲什麼在sqlfiddle在那裏,不父任務名稱字段中未填寫的taskid 6?我如何獲得這些信息?

+0

SQL小提琴似乎有問題(或該網站是)。你能發佈你正在使用的模式和SQL語句嗎? –

+0

@SloanThrasher鏈接被破壞:我修復了它 – FrankerZ

+0

@FrankerZ不管我是不是還在爲我工作,你的或我的小提琴都不會出現。 SQLFiddle似乎有問題。 (即使about.html頁面也沒有顯示出來) – DauntlessRob

回答

2

左連接需要加入您爲任務設置的參考pt。您的加入應如下所示:

LEFT JOIN tasks pt ON tasks.parentTaskId = pt.taskId 

查看更新的提琴here