有这样两个表:
tb1(conent varchar(100))--只有一行
conent
在天愿作比翼鸟,在地化作连里枝!发送姓名到925856揭示今生情缘.发8到925835测情商
tb2(sevices_id varchar(100))
sevices_id
457898
1478661
955864
998565
925856
925835
9258123想得到这样的结果:
col1   col2
925856  在天愿作比翼鸟,在地化作连里枝!发送姓名到925856揭示今生情缘.发8到925835测情商
925835  在天愿作比翼鸟,在地化作连里枝!发送姓名到925856揭示今生情缘.发8到925835测情商也就是说我想把tb1表里在tb2表里存在的号码找出来放到另一个表里!
谢谢高手!

解决方案 »

  1.   

    select col1=tb2.sevices_id,col2=tb1.conent from tb1,tb2 where patindex(tb2.services_id,tb1.conent)<>0
      

  2.   

    select col1=tb2.sevices_id,col2=tb1.conent 
    from tb1,tb2 
    where charindex(tb2.services_id,tb1.conent)<>0
      

  3.   

    create table tb1(conent varchar(100))
    insert tb1
    select '在天愿作比翼鸟,在地化作连里枝!发送姓名到925856揭示今生情缘.发8到925835测情商'create table tb2(sevices_id varchar(100))
    insert tb2
    select '457898'
    union all
    select '1478661'
    union all
    select '955864'
    union all
    select '998565'
    union all
    select '925856'
    union all
    select '925835'
    union all
    select '9258123'select identity(int,1,1)as id ,* into #1 from tb1 
    select identity(int,1,1)as id ,* into #2 from tb2 create table x (col1 int,col2 varchar(100))declare @id int,@i int,@sevices_id varchar(100),@conent varchar(100)
    select @id=min(id) from #2
    select @i=count(1) from #2
    while @i>0
    begin
      select @sevices_id=sevices_id from #2 where @id=id
      select @conent=conent from #1
      if (select count(1) from (select * from #1 where charindex(@sevices_id,conent)>0)s)>0
      begin
         insert x
         select @sevices_id,@conent
      end
      select @id=min(id) from #2 where @id<id
      set @i=@i-1
    endselect * from xdrop table x
    drop table #1
    drop table #2
    col1        col2                                                                                                 
    ----------- ---------------------------------------------------------------------------------------------------- 
    925856      在天愿作比翼鸟,在地化作连里枝!发送姓名到925856揭示今生情缘.发8到925835测情商
    925835      在天愿作比翼鸟,在地化作连里枝!发送姓名到925856揭示今生情缘.发8到925835测情商(所影响的行数为 2 行)
      

  4.   

    create table tb12(col1 varchar(50), col2 varchar(1000))
    create  table tb1(content varchar(1000))
    insert into tb1 select '在天愿作比翼鸟,在地化作连里枝!发送姓名到925856揭示今生情缘.发8到925835测情商'
    insert into tb1 select '在天愿作比翼鸟,在地化作连里枝!发送姓名到457898揭示今生情缘.发8到457898测情商'
    insert into tb1 select '在天愿作比翼鸟,在地化作连里枝!发送姓名到955864揭示今生情缘.发8到955864测情商'
    insert into tb1 select '在天愿作比翼鸟,在地化作连里枝!发送姓名到9258123揭示今生情缘.发8到9258123测情商'create  table tb2 (sevices_id varchar(100))
    insert into tb2 select '457898'
    insert into tb2 select '1478661'
    insert into tb2 select '955864'
    insert into tb2 select '998565'
    insert into tb2 select '925856'
    insert into tb2 select '925835'
    insert into tb2 select '9258123'create function tbtb (@txt varchar(500))      --创建涵数
    returns varchar(500)
    as 
    begin 
    declare @num varchar(500)
    set @num='' 
    select @num=@num+substring(content,20,10) from tb1 where content=@txt
     return @num
    endselect sevices_id from tb2,(select  dbo.tbtb(content) as txt from tb1)TTBB
     where TTBB.txt like '%'+sevices_id+'%'
    insert into tb12  
    select sevices_id,'在天愿作比翼鸟,在地化作连里枝!发送姓名到'+sevices_id+'揭示今生情缘.发8到'+sevices_id+'测情商' 
    from tb2,(select  dbo.tbtb(content) as txt from tb1)TTBB
    where TTBB.txt like '%'+sevices_id+'%'select * from tb12
    结果如下:925856 在天愿作比翼鸟,在地化作连里枝!发送姓名到925856揭示今生情缘.发8到925856测情商
    457898 在天愿作比翼鸟,在地化作连里枝!发送姓名到457898揭示今生情缘.发8到457898测情商
    955864 在天愿作比翼鸟,在地化作连里枝!发送姓名到955864揭示今生情缘.发8到955864测情商
    9258123 在天愿作比翼鸟,在地化作连里枝!发送姓名到9258123揭示今生情缘.发8到9258123测情商