使用JOIN在MySQL中创建第三列的类似查询

使用JOIN在MySQL中创建第三列的类似查询,mysql,sql,Mysql,Sql,使用这个,我一直在尝试使用不同类型的连接来组合这两个SELECT查询。它们非常相似,各自工作也很好,但当我试图创建第三列EmpFirstName3时,查询失败了。如何成功地组合这两个表 HTG_TechProps表 HTG_技术人员设置表 试试这个: SELECT p.EmpNumber, p.EmpFirstName AS EmpFirstName1, t.EmpFirstName AS EmpFirstName2

使用这个,我一直在尝试使用不同类型的连接来组合这两个SELECT查询。它们非常相似,各自工作也很好,但当我试图创建第三列EmpFirstName3时,查询失败了。如何成功地组合这两个表

HTG_TechProps表

HTG_技术人员设置表


试试这个:

    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

UNION ALL

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

我根据在Stack上找到的问题尝试了这个方法,但我显然是搞错了。你能冒昧给我一个样品吗?我完全迷路了。您将techProps连接到EMPNAME上的人员集,但从样本数据来看,两个表之间的EMPNAME不相同。然后你加入EMPNAME和staffsetid。我知道,它完全被抬高了。我无法控制桌子。在某些情况下,StaffSetID与EmpNumber匹配,而在某些情况下,它与EmpNumber不匹配……这足以让我发疯了,LOLOh,伙计,谈论我的复杂化……我在尝试内部连接和联合查询。非常感谢!
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
    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

UNION ALL

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