本帖最后由 happyjinke 于 2011-09-19 10:09:28 编辑

解决方案 »

  1.   

    select isnull(isnull(a.name,b,name),c.name) as name
       ,a.学号
    from a left join b on a.学号 = b.学号
    left join c on a.学号 = c.学号
      

  2.   

    本帖最后由 roy_88 于 2011-09-19 10:10:54 编辑
      

  3.   

    Name在表中唯一時,用full join --
      

  4.   


    case 也能实现case when a.name is null then 
     case when b.name is null then
       c.name
     else
       b.name
     end
    else 
     a.name
    end
      

  5.   

    select 
     case when
      a.name is not null then a.name 
     else
      case when b.name is not null then b.name else c.name end
     end
    from
      tb
      

  6.   


    select name=COALESCE(a.Name,b.Name,c.Name),a.学号
    from a 
    left join b on a.学号 = b.学号
    left join c on a.学号 = c.学号