表:
员工编号  上司编号 员工姓名 
1                   小王
2                   小张
3             1     小赵要产生下面的结果:
员工编号  上司  员工姓名
1          主任   小王
2          主任   小张
3          小王   小赵

解决方案 »

  1.   

    select 员工编号,case 上司姓名 when null then '主任' else 上司姓名 end,员工姓名 from
    (
    select a.员工编号,a.员工姓名,a.上司编号,b.员工姓名 as 上司姓名
    from employee as a 
    left join employee b 
    on a.上司编号=b.员工编号) aa
      

  2.   

    select 员工编号,(case  when 上司姓名 is null then '主任' else 上司姓名 end) as 上司,员工姓名 from
    (
    select a.员工编号,a.员工姓名,a.上司编号,b.员工姓名 as 上司姓名
    from employee as a 
    left join employee b 
    on a.上司编号=b.员工编号) aa
    刚才那个写错了-_-!!!
      

  3.   

    呵呵,稍改一下。
    select a.员工编号,a.员工姓名,a.上司编号,,(case  when 上司姓名 is null then '主任' else 上司姓名 end) as 上司
    from employee as a 
    left join employee b 
    on a.上司编号=b.员工编号