SQL>从员工中选择employeeid,fname,薪水,主管;
EMPLOYEEID FNAME SALARY SUPERVISOR
---------- --------------- ---------- ----------
111 Heng 265000
246 Ananda 150000 111
231 Nagapan 85000 246
123 Vellu 105000 111
443 Fatimah 80000 111
433 Amin 66500 443
323 Kamuingat 76500 443
200 Jing 24500 135
135 Hong 45000 111
322 Derek 75000 123
128 Dong 38000 135
248 Fatt 30000 135
我希望主管列视图作为主管名称。该名称已存在于fname中。如何根据employeeid列中的id设置主管名称视图?
答案 0 :(得分:1)
您可能想要这样的东西:
select e.employeeid, e.fname, e.salary, s.fname
from employee e join employee s on (e.supervisor = s.employeeid)
您正在使用supervisor列作为id列将employee表与其自身连接。如果那没有意义,请在文档中查找联接。
答案 1 :(得分:0)
我认为您需要self join using outer join
,否则结果中将忽略主管为空的第一条记录。
所以我想以下是您应该尝试的查询:
select e.employeeid, e.fname, e.salary, s.fname
from employee e left join employee s on (e.supervisor = s.employeeid)
请注意,我已经完成左加入。
干杯!