2016-08-31 4 views
0

を与えるEMPLOYEE_UNIT、UNIT されています作業単位で従業員名を欲しい:SQLクエリは I ..(たとえば、従業員1は、2つの異なる単位のために働いている私はEMPLOYEE_IDに基づいて単一のユーザーの名前と従業員のユニット名を含む従業員の詳細をしたい、私は3つのテーブルEMPLOYEEを持って間違った出力に

TABLE STRUCTURE AS FOLLOWS: 
EMPLOYEE TABLE 
EMPLOYEE_ID,FIRST_NAME,LAST_NAME,PHONE_NUMBER 
1   emp1  emp1  *********** 
2   emp2  emp2  *********** 
3   emp3  emp3  *********** 
4   emp4  emp4  *********** 
UNIT TABLE 
UNIT_ID,UNIT_TITLE,CITY 
1  unit1  city1 
2  unit2  city2 
3  unit3  city3 

EMPLOYEE_UNIT TABLE 
EMP_UNIT_ID,EMPLOYEE_ID,UNIT_ID 
1   1   2 
2   1   3 
3   2   1 

MYQUERY:従業員の名前と対応する単位タイトルのリストについては

SELECT DISTINCT CONCAT(FIRST_NAME,LAST_NAME) AS TITLE,PHONE_NUMBER 
FROM EMPLOYEE AS E 
LEFT JOIN EMPLOYEE_UNIT AS EU ON EU.EMPLOYEE_ID = E.EMPLOYEE_ID 
WHERE E.EMPLOYEE_ID = 137 
+0

あなたのお問い合わせが分かりますか? –

+0

スタックオーバーフローは "私のコードを書く"サービスではありません。あなたが試した質問とあなたの望む結果を投稿してください。 – Lamak

答えて

0

、これを使用する:

を3210
SELECT e.FIRST_NAME, e.LAST_NAME, GROUP_CONCAT(DISTINCT u.UNIT_TITLE SEPARATOR ', ') 
FROM EMPLOYEE e 
JOIN EMPLOYEE_UNIT m ON e.EMPLOYEE_ID = m.EMP_ID 
JOIN UNIT u ON m.UNIT_ID = u.UNIT_ID 
GROUP BY e.EMPLOYEE_ID 

この種類のものは、GROUP_CONCATです。

+0

私も従業員のユニットがほしいと思っています......もし1人の従業員が複数のユニットで働いていたら... 2人は従業員の詳細と一緒に来ると思っています –

+0

同じレコードですか? – woz

+0

複数のユニットを持つ同じレコードにあります –

関連する問題