-1

empId、empName、managerId の列を持つ Employee というテーブルがあります。ここでマネージャーは従業員です。上記の表から従業員名とマネージャー名を取得するにはどうすればよいですか。

4

3 に答える 3

2

テーブルをそれ自体で結合します(2つを明確にするためにエイリアスを使用していることに注意してください)。

SELECT e.empName AS employeeName, 
    m.empName AS managerName
FROM Employee e
INNER JOIN Employee m ON e.managerId = m.empId
于 2012-11-02T10:31:01.243 に答える
1

エイリアスを使用してテーブルをそれ自体に結合してみてください。

SELECT
    Employee.empName AS employeeName,
    Manager.empName AS managerName
FROM Employee
JOIN Employee AS Manager
ON Employee.managerId = Manager.empId
于 2012-11-02T10:31:01.913 に答える
1
create table employee
 (
   empid int , 
   empName nvarchar(500),
   mgrid int 

 )

insert into employee select 1,'ra',0 
insert into employee select 2,'ma',1

マネージャー名を取得するサブクエリ

select *
 ,(select empName  from employee as e where oe.mgrid=e.empid) as managername
from employee as oe

また

SELECT
    employee.empName AS employeeName,
    Manager.empName AS managerName
FROM employee
JOIN employee AS Manager
ON employee.mgrid = Manager.empId

このためのSQLフィドル

于 2012-11-02T10:37:02.147 に答える