1

従業員と部門の2つのテーブルがあります

Table employee columns
empid
name
salary
location

Table department columns
deptno
deptname
empid
mangerid

ここで、名前付きの従業員とマネージャーのリストを取得したいと思います。試しましたが、取得できませんでした

4

2 に答える 2

1

それにいくつかの光を追加するには、次のことを試すことができます:)マネージャーの結果によって通常の従業員GROUP_CONCATと同様に削除することができます。GROUP_BY

参照:

SQLFIDDLE

サンプルテーブル

EMP

ID  NAME
1   JOHN
2   JIM
3   KATE
4   TIM
5   JANE

部門

ID  EID     MID
11  2       1
12  3       2
12  4       1
12  5       2

でクエリGROUP_CONCAT

SELECT M.NAME AS Manager, GROUP_CONCAT(E.NAME,' ') AS Employee
FROM EMP E
JOIN DEPT D
ON E.ID = D.EID
JOIN EMP M
ON D.MID = M.ID
GROUP BY M.NAME

結果:

MANAGER     EMPLOYEE
JIM         KATE ,JANE
JOHN        TIM ,JIM 

GROUP_CONCATおよびなしでクエリGROUP_BY

SELECT M.NAME AS Manager, E.NAME AS Employee
FROM EMP E
JOIN DEPT D
ON E.ID = D.EID
JOIN EMP M
ON D.MID = M.ID

GROUP_CONCATおよびなしのクエリの結果GROUP_BY

MANAGER     EMPLOYEE
JOHN        JIM
JOHN        TIM
JIM         KATE
JIM         JANE
于 2012-11-30T05:49:27.660 に答える
0

試すselect emp1.name, emp2.name from employee emp1, employee emp2, department dept where emp1.empid=dept.empid and emp2.empid=dept.managerid

于 2012-11-30T05:36:48.380 に答える