create table emp
(
emp_id 雇员ID,主键
fname frist name
lname last name
dept 部门ID
mid 上级ID
sal 薪水
date 雇用日期
jobid 工作ID
)
查询所有雇员的名字及上级名字 ??
各位大虾帮帮忙,3Q 3Q !!!
------解决方案--------------------
- SQL code
select 雇员=a.lastname+a.firstname, 上级=b.lastname+b.firstnamefrom emp aleft join emp b on a.mid=a.emp_id
------解决方案--------------------
- SQL code
select a.fname,a.lname,isnull(b.fname,'') 上级fname ,isnull(b.lname) 上级lname from emp aleft join emp b on a.mid=b.emp_id
------解决方案--------------------
- SQL code
--假设只取直属上级,如果取所有的上级,要用循环或递归了
select
xiaji.fname+' '+xiaji.lname as 员工名称,
isnull((select top 1 shangji.fname+' '+shangji.lname from emp shangji where shangji.emp_id=xiaji.mid),'无') as 上属名称
from emp xiaji
------解决方案--------------------