从匹配外键的外表中选择元素?

时间:2014-11-23 00:04:53

标签: mysql

所以我有一个名为HOURS的表,其中包含一个外键EMPLOYEE_employee_Num。

employee表有employee-num作为主键,还有employee_firstname和Employee_lastName。

如何从小时表中选择所有内容,而不是显示EMPLOYEE_employee num,它是employee_firstname employee_lastname AS员工的连续数?

我已经尝试过加入和结合,但我还没有得到它

3 个答案:

答案 0 :(得分:0)

像往常一样加入表格,并使用MySQL的CONCATCONCAT_WS函数来连接字段,例如:

SELECT h.*, CONCAT_WS(' ', e.employee_firstname, employee_lastname) as employee FROM HOURS h INNER JOIN EMPLOYEE e ON e.employee-num = h.EMPLOYEE_employee_Num

答案 1 :(得分:0)

您可以使用concat_ws concat w ith s eparator)功能连接两个名称字段并添加空白作为分隔符:

SELECT Hours.*, CONCAT_WS(' ',employee_firstname,employee_lastname) as employee
FROM Hours
LEFT JOIN Employee ON Hours.EMPLOYEE_employee_Num = Employee.Employee_Num;

根据需要调整以匹配您的实际列名。

使用左连接意味着获取左表中的所有行,以及来自右侧的匹配行,以便hours中有任何行没有匹配的行employee你也会得到它们。如果始终存在匹配的行,则可以使用inner join代替。

答案 2 :(得分:0)

尝试这样的事情:

SELECT hours.*, CONCAT_WS(' ', employee.firstName, employee.lastName) AS employeeName FROM hours JOIN employee ON hours.employeeNum = employee.employeeNum