有两个表A和B? 
A: 
字段1  字段2 
ID1    Content1 
ID2    Content2 
ID3    Content3 B: 
字段1   字段2 
ID1     C1 
ID1     C2 
ID2     C1 
ID3     C3 
希望根据B表的字段2条件获得如下表(如取C1的相关内容) 
C: 
字段1   字段2     
ID1     Content1   
ID2     Content2   如取C3内容,则产生如下表: 
字段1   字段2      
ID3     Content3   如果取C1,C2的内容:希望能取得下表(即只显示一列):
字段1     字段2       
ID1       Content1    

解决方案 »

  1.   

    况且你通过c1,c2得到的ID1有可能不止一个.
      

  2.   

    declare @t table(ID varchar(10),test varchar(10))
    insert into @t select 'ID1','Content1'
    insert into @t select 'ID2','Content2'
    insert into @t select 'ID3','Content3'declare @tt table(ID varchar(10),Name varchar(10))
    insert into @tt select 'ID1','c1'
    insert into @tt select 'ID1','c2'
    insert into @tt select 'ID2','c1'
    insert into @tt select 'ID3','c3'
    select a.id,a.test,b.name from @t a inner join @tt b on  a.id=b.id where  b.name='c1'
      

  3.   

    create table p1(字段1 varchar(10),字段2 varchar(10))
    insert into p1 select 'ID1','Content1'
    insert into p1 select 'ID2','Content2'
    insert into p1 select 'ID3','Content3'
    create table p2(字段1 varchar(10),字段2 varchar(10))
    insert into p2 select 'ID1','C1'
    insert into p2 select 'ID1','C2'
    insert into p2 select 'ID2','C1'
    insert into p2 select 'ID3','C3'create proc ggyy
    @字段2 varchar(10)
    as
    select distinct * from p1 where 字段1 in (select 字段1 from p2 where charindex(','+字段2+',',','+@字段2+',')>0)
    如果取C1,C2的内容:希望能取得下表(即只显示一列): 
    字段1     字段2        
    ID1       Content1  这个有点难搞哦。B表中ID2 ,C1这条记录也是C1。但没有C2。所以才不取吗?