select a.tmp1,isnull(b.name,'不详') from a left join b
on a.id = b.id

解决方案 »

  1.   

    search help...
    >------------------------------------------
    语法
    ISNULL ( check_expression , replacement_value ) 参数
    check_expression将被检查是否为 NULL的表达式。check_expression 可以是任何类型的。replacement_value在 check_expression 为 NULL时将返回的表达式。replacement_value 必须与 check_expresssion 具有相同的类型。 返回类型
    返回与 check_expression 相同的类型。注释
    如果 check_expression 不为 NULL,那么返回该表达式的值;否则返回 replacement_value。
      

  2.   

    select tmp1,name=case when null then '不祥' else name end
      

  3.   

    select a.tmp1,isnull(b.name,'不详') from a left join b
    on a.id = b.id如果类型不合适,还要转换一下类型
      

  4.   

    select * into #t from(
    select a.tmp1,b.name from a left join b
    on a.id = b.id)cselect tmp1,name=case when null then '不祥' else name end from #t
      

  5.   


    select * into #t from(
    select a.tmp1,b.name from a left join b
    on a.id = b.id)cselect tmp1,name=case name when null then '不祥' else name end from #t
      

  6.   

    --建表,插入数据
    declare @a table(tmp1 char(1),[name] char(4))
    insert into @a
    select 'A',    '上海' union all
    select 'B',    '北京' union all
    select 'C',    NULL   union all
    select 'D',    '天津'--查询
    select tmp1,[name]=coalesce(name,'不祥') from @a--结果
    /*
    tmp1 name 
    ---- ---- 
    A    上海
    B    北京
    C    不祥
    D    天津
    */
      

  7.   

    select a.tmp1,isnull(b.name,'不详') from a left join b
    on a.id = b.id