select A.*
from (select distinct a from B)T
join A on T.a=A.a

解决方案 »

  1.   

    select * from A
    where A.a in
    (select distinct a from B)
      

  2.   

    谢谢,楼上两位!
    还有一个小问题,一会加分!
    刚刚的b表中有一个相应的字段c的值,在去不同字段a的时候一起取出,
    最后需要把这个字段的记录保存到结果表中,字段名仍然为cB表
    a  c字段
    1  q   ->  1 q   ->    A  ->  结果表  
    1  q       2 w      1 M N    1 M N q
    1  q       3 w      2 N M    2 N M w
    2  w                3 N M    3 N M w
    2  w                4 M N 
    3  w
      

  3.   

    select distinct A.*, B.c from A, B
    where A.a in (select distinct B.a from B)
    and A.a = B.a
      

  4.   

    create table #a(a int,na int)
    insert into #a select 1,2
    insert into #a select 1,2
    insert into #a select 2,4
    insert into #a select 3,6
    insert into #a select 4,7
    insert into #a select 4,7create table #b(a int,kk int,c varchar)
    insert into #b select 1,2,'a'
    insert into #b select 2,2,'b'
    insert into #b select 2,4,'c'
    insert into #b select 3,6,'d'
    insert into #b select 4,7,'b'
    insert into #b select 4,7,'b'
    select distinct #b.a,#b.c from #b
    inner join #a on #a.a = #b.a