我有两个表:基于两列在SQL中加入表?
Employees (columns: ID, Name)
和
employee partners (EmployeeID1, EmployeeID2, Time)
我要输出EmployeName1,EmployeeName2,时间,而不是imployee IDS。
(换句话说,替换名称的ID,但在两列在同一时间)
我会怎么做呢? JOIN会是合适的命令吗?
我有两个表:基于两列在SQL中加入表?
Employees (columns: ID, Name)
和
employee partners (EmployeeID1, EmployeeID2, Time)
我要输出EmployeName1,EmployeeName2,时间,而不是imployee IDS。
(换句话说,替换名称的ID,但在两列在同一时间)
我会怎么做呢? JOIN会是合适的命令吗?
您需要连接员工表2次,因为员工合作伙伴表充当多对多连接。 的选择应该是:
SELECT emp1.name, emp2.name, em.time
FROM Employees emp1
JOIN employee_partners em ON emp1.id = EmployeeID1
JOIN Employees emp2 on emp2.id = EmployeeID2
通常情况下,你要使用LEFT JOIN
:
SELECT e1.name as name1, e2.name as name2, em.time
FROM employee_partners ep LEFT JOIN
Employees e1
ON e1.id = ep.EmployeeID1 LEFT JOIN
Employees e2
ON e2.id = ep.EmployeeID2;
注:
LEFT JOIN
■确保你没有,如果失去行员工专栏中的任何一个都是NULL
。
是的。 'JOIN'是正确的命令。仔细阅读它并尝试查询。如果您无法使用它,请发布您尝试在您的问题中使用的查询,我们可以从那里获得帮助 – Galz