当前位置: 代码迷 >> Sql Server >> T-SQL中查询所有雇员的名字及上级名字,该如何解决
  详细解决方案

T-SQL中查询所有雇员的名字及上级名字,该如何解决

热度:101   发布时间:2016-04-27 18:43:17.0
T-SQL中查询所有雇员的名字及上级名字
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

------解决方案--------------------
引用楼主 peng0622 的帖子:
create table emp
(
emp_id 雇员ID,主键
fname frist name
lname last name
dept 部门ID
mid 上级ID
sal 薪水
date 雇用日期
jobid 工作ID
)
查询所有雇员的名字及上级名字 ??
各位大虾帮帮忙,3Q 3Q !!!
  相关解决方案