2016-12-24 2 views
0

私はこのようにSQLでうまくいきません。私は出力をしたい:私はこの出力を取得するために書くべきテーブルから目的の出力を得るにはどうすればいいですか

employee id, employee name, manager name 

(カイルの管理者が2すなわちジョーンズで、ジョーンズのマネージャーが3すなわちダビデとそうである)

Emp ID  Emp Name  ManagerID 
    1   Kyle   2 
    2   Jones   3 
    3   David   4 
    4   Henry   5 
    5   John   1 

何クエリ?

答えて

4
あなたは別のエイリアス名で再び同じテーブルに参加する必要があり

select e.empId, e.EmpName, m.EmpName as manager 
from employees e 
left join employees m on e.ManagerID = m.EmpID 

あなたがleft joinを使用している場合、あなたは彼らがマネージャーを持っていない場合でも、すべての従業員を取得します。
inner joinを使用すると、マネージャを持つ従業員のみが取得されます。

0

あなたは従業員が自己の参加を意味して、あなたの従業員表を結合する必要があります。
従業員にマネージャーが必要な場合は、以下のクエリを使用できます。

select e.empId, e.EmpName, m.EmpName as manager_name 
from employees e 
inner join employees m on e.ManagerID = m.EmpID 
関連する問題