2014-11-28 2 views
1

내가 같은 테이블MYSQL- SELF REFERENCING FOREIGN KEY

내가 그들의 노인에게보고하는 직원을 찾으려면의 EMP_ID 을 참조하는 자체 참조 외래 키 (reportsTo) 있습니다.

나는 다음 쿼리

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 열에서, 나는 사람이 그들에게보고 누구의 이름을합니다.

답변

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

고맙습니다 ... 일이 – Abhinav