1

たとえば、manager_id を含む従業員に関するすべての情報を含む従業員テーブルがあります。

id name manager_id
1  Joe    5 
2  Mary   5
3  Bill   5
4  Jane   6
5  Matt   6
6  Walt   7

人のリストと、それぞれの直属の部下をすべて取得したいと思います。次の出力を得るためにクエリを作成することは可能ですか:

Employee   Direct Reports
Joe
Mary
Bill
Jane
Matt        Joe, Bill, Mary
Walt        Jane, Matt
4

1 に答える 1

1

こちらです:

SELECT s.name AS employee, group_concat( e.name ) 
FROM employees s
LEFT OUTER JOIN employees e ON s.id = e.manager_id
GROUP BY s.id

テーブルをそれ自体と結合する必要があります。また、誰も管理していない従業員を取得するには、左結合を使用する必要があります。

于 2013-06-07T01:09:55.300 に答える