使用此question,我一直试图使用不同类型的JOINS尝试组合这两个SELECT查询。他们非常相似,并且自行工作良好,但是当我尝试创建第三列EmpFirstName3时,查询就会出现。我如何成功结合这两个表?使用JOIN在MySQL中创建第三列的类似查询使用JOIN
HTG_TechProps表
EmpNumber | EmpFirstName
111 | Bob
222 | John
333 | Randy
HTG_TechStaffSets表
EmpNumber | StaffSetID
CCN31 | 111
CCN11 | 222
POWW | Null
/* Techs */
SELECT
p.EmpNumber,
p.EmpFirstName AS EmpFirstName1,
t.EmpFirstName AS EmpFirstName2
FROM HTG_TechProps p
LEFT JOIN HTG_TechStaffSets s ON p.EmpNumber=s.EmpNumber
LEFT JOIN HTG_TechProps t ON t.EmpNumber=s.StaffSetID
ORDER BY p.EmpNumber
/* Staff Sets */
SELECT
p.EmpNumber,
p.EmpFirstName AS EmpFirstName1,
t.EmpFirstName AS EmpFirstName2
FROM HTG_TechProps p
LEFT JOIN HTG_TechStaffSets s ON p.EmpNumber=s.StaffSetID
LEFT JOIN HTG_TechProps t ON t.EmpNumber=s.EmpNumber
ORDER BY p.EmpNumber
我试过基于我在堆栈上发现的问题,但我明显地把它弄糊涂了。你可以创建一个样本请@ItalianStallion – 2014-09-10 20:02:23
我完全失去了。您将techProps加入empNumber的Staff集合,但是您的示例数据empNumber在两个表之间并不相同。然后你加入empnumber和staffsetid。 – SQLChao 2014-09-10 20:09:35
我知道,它完全顶起来了。我无法控制桌子。在某些情况下,StaffSetID与EmpNumber匹配,在某些情况下,它不会......这足以让我疯狂LOL – 2014-09-10 20:13:03