2014-11-23 66 views
0

所以我有一个名为HOURS的表,它是一个外键EMPLOYEE_employee_Num。从外键匹配外键选择元素?

employee表的employee-num是主键,有employee_firstname和Employee_lastName。

我该如何选择小时表中的所有内容,而不是显示EMPLOYEE_employee num它是employee_firstname employee_lastname AS员工的一个concat?

我已经试过加入和工会,但我只是没有得到它

+0

很好,所以他们把它命名为两次 – Strawberry 2014-11-23 00:32:48

回答

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 
0

可以使用concat_wsCONCATW¯¯第i个小号 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

0

尝试这样:

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