MySQL JOIN一个表,然后将新表JOIN连接到自身

时间:2017-05-08 21:17:06

标签: php mysql join

首先,我在SQL中并不精通,所以这是一项艰巨的任务,但这是我到目前为止所做的:

SQL Fiddle

正如您所看到的,我有一个项目管理软件项目,我正在尝试从中构建报告。似乎主要是我得到了我需要的数据,除了我无法获得父任务名称。

任务表包括ID,名称等,以及专门用于父任务ID的列。所以它需要连接到自身,以便我可以获得该父任务的名称。但是在同一次运行中,我从timelogs表开始,并试图加入一堆其他表来获取其他信息。

例如,在我的生产数据库中,我还有一个公司表,所有项目都有id,所以我也需要在某些时候将它们加在一起。

所以这是问题:

为什么在那个sqlfiddle那里,父任务名称字段是否未填写taskID 6?我如何获得该信息?

1 个答案:

答案 0 :(得分:2)

左连接需要加入您为任务设置的pt引用。你的加入应该是这样的:

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

请参阅更新的小提琴here