表一
编码  
 a    
..
表二
编码  名称
a      a/01
a      a/02
..
怎样跟据表一的编码查询表二对应的名称,得到结果编码    名称1       名称2
a        a/01         a/02

解决方案 »

  1.   

    select t1.编码,t2.名称 名称1,t3.名称 名称2
    from tb1 t1
    left jion tb2 t2
    on t1.编码=t2.编码
    left jion tb2 t3
    on t1.编码=t3.编码
      

  2.   


    create table 表1
    (
    编码 varchar(10)
    )insert into 表1
    select 'a'create table 表2
    (
    编码 varchar(10),
    名称 varchar(10)
    )insert into 表2
    select 'a','a/01'
    union
    select 'a','a/02'
    declare @sql varchar(max)
    select a.编码 as 编码,名称 into #x from 表1 a inner join 表2 b on a.编码=b.编码
    set @sql='select 编码'
    select @sql=@sql+' ,max(case when 名称='''+名称+''' then 名称 end)[名称'+名称1+']' from (select 名称,SUBSTRING(名称,3,100) as 名称1 from #x) t
    set @sql=stuff(@sql,10,1,'')
    set @sql=@sql+'from #x group by 编码'
    print @sql
    exec(@sql)
      

  3.   

    我把测试数据改一下,就不是想要的结果了
    create table 表1
    (
        编码 varchar(10)
    )insert into 表1
    select 'a' union
    select 'b'create table 表2
    (
        编码 varchar(10),
        名称 varchar(10)
    )insert into 表2
    select 'a','a/01'
    union
    select 'a','a/02'union
    select 'b','02'union
    select 'b','safd'