有二个表
Tab1
id  Name
1   小王
2  小李
3  小罗
Tab2
T1_iD  ADD  T2_ID
1      无   2
1      山头  1
我想查询如下小王   无   小李
小王   无   小王请怎么联接二个表

解决方案 »

  1.   

    select b.Name,a.Add,c.Name from Tab2 a,Tab1 b,Tab1 c where a.T1_id=b.id and a.T2.id=c.id
      

  2.   

    select t1.Name,t2.ADD,t2.T2_ID 
     from tab1 t1 join tab2 t2 on t1.id=t2.T1_iD
      

  3.   

    --两个无是怎样得到的
    小王   无   小李 
    小王   无   小王 
    select   
    t1.Name,
    [ADD]=case when t1.Name=t3.Name then t2.ADD else '无' end,
    t3.Name   
    from   
    tab1   t1   
    join   
    tab2   t2   on   t1.id=t2.T1_iD
    join 
    tab1 t3 on t3.ID=t2.T2_ID
      

  4.   

    select   t1.Name,t2.ADD,t2.T2_ID   
      from   tab1   t1   join   tab2   t2   on   t1.id=t2.T1_iD
      

  5.   

    declare @tab1 table(id1 int,name1 varchar(10))
      insert into @tab1
      select 1,'小王' union
    select 2,'小李'   union
    select 3,'小罗'  
    select * from @tab1
    declare @tab2 table(t1_id int,add2 varchar(10),t2_id int)
    insert into @tab2
    select 1, '无',2 union
    select 1,'山头',1  select * from @tab2   select t1.name1,t3.add2,t2.name1 from @tab2 t3
    join @tab1 t1 on t3.t1_id = t1.id1
    join @tab1 t2 on t3.t2_id = t2.id1
    -- 小王   无   小王 ???
    是怎样的逻辑的到呢    
      

  6.   

    create table #1(id1 int,name1 varchar(10))
    insert into #1 select 1,'小王'
    insert into #1 select 2,'小李'
    insert into #1 select 3,'小罗'create table #2(t1_Id int,add2 varchar(10),t2_id int)
    insert into #2 select 1,'无',2
    insert into #2 select 1,'山头',11、
    select a.name1,c.add2,b.name1 from #1 a,#1 b,#2 c
    where a.id1=t1_id and b.id1=t2_id2、
    select a.name1,b.add2,c.name1 from #1 a inner join #2 b
    on a.id1=b.t1_id
    inner join #1 c
    on b.t2_id=c.id1
    name1      add2       name1
    ---------- ---------- ----------
    小王         山头         小王
    小王         无          小李(2 行受影响)