2014-11-28 4 views
1

У меня есть автореферентный внешний ключ (reportsTo), который относится к emp_id из тех же таблицMYSQL- SELF REFERENCING FOREIGN KEY

Я хочу, чтобы выяснить, сотрудник, подчиняющиеся вышестоящие.

Я побежал следующий запрос

mysql> SELECT GROUP_CONCAT(emp_name SEPARATOR ',') as Employees,reportsTo from employees GROUP BY reportsTo; 
+-----------------------------+-----------+ 
| Employees     | reportsTo | 
+-----------------------------+-----------+ 
| ram,ham,anir    |   1 | 
| abhi,kuanl,rakesh,raja,rama |   2 | 
| vicky,sam     |   3 | 
| dhanapal,naina    |   4 | 
+-----------------------------+-----------+ 

НО В REPORTSTO COLUMN, я хочу лица имени которых они сообщают в.

ответ

2

Используйте SELF JOIN, чтобы получить название отчетности для сотрудников.

Попробуйте это:

SELECT GROUP_CONCAT(e.emp_name SEPARATOR ',') AS Employees, 
     e.reportsTo, e1.emp_name 
FROM employees e 
INNER JOIN employees e1 ON e.reportsTo = e1.emp_id 
GROUP BY e.reportsTo; 
+0

Thanx ... который работал – Abhinav

Смежные вопросы