所以我有一个名为HOURS的表,它是一个外键EMPLOYEE_employee_Num。从外键匹配外键选择元素?
employee表的employee-num是主键,有employee_firstname和Employee_lastName。
我该如何选择小时表中的所有内容,而不是显示EMPLOYEE_employee num它是employee_firstname employee_lastname AS员工的一个concat?
我已经试过加入和工会,但我只是没有得到它
所以我有一个名为HOURS的表,它是一个外键EMPLOYEE_employee_Num。从外键匹配外键选择元素?
employee表的employee-num是主键,有employee_firstname和Employee_lastName。
我该如何选择小时表中的所有内容,而不是显示EMPLOYEE_employee num它是employee_firstname employee_lastname AS员工的一个concat?
我已经试过加入和工会,但我只是没有得到它
可以使用concat_ws
(CONCATW¯¯第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
。
尝试这样:
SELECT hours.*, CONCAT_WS(' ', employee.firstName, employee.lastName) AS employeeName FROM hours JOIN employee ON hours.employeeNum = employee.employeeNum
很好,所以他们把它命名为两次 – Strawberry 2014-11-23 00:32:48