表1
楼宇名称
埃力生国际大厦
创兴大厦
东海商业中心
东银大厦
港博大厦
高登金融大厦
光明大厦
海通证券大厦
恒积大厦
恒立大厦
......表2公司名称 地址
北京电通广告有限公司上海分公司 埃力生国际大厦A座201室
东展物业管理有限公司 创业大厦A座2楼
杜邦中国(集团)有限公司上海分公司 东海商业中心C座3楼
东方卓德物业顾问有限公司 东银大厦C座3楼
北京特恩斯市场研究咨询有限公司上海分公司 港博大厦C座3楼
招商银行股份有限公司上海南西支行 高登金融大厦A座2楼
汉高(中国)投资有限公司 电子大厦A座2楼
廖创兴房地产开发有限公司 海通证券大厦A座201室
喜顺投资有限公司 丰满大厦A座201室
浦东发展银行 恒立大厦A座201室
......我想找出表2地址中含有表1楼宇名称的数据,怎么做啊? 数据很多的,所以手动一个一个输入的话是很烦琐的。
就是要找到公司名称 地址
北京电通广告有限公司上海分公司 埃力生国际大厦A座201室
杜邦中国(集团)有限公司上海分公司 东海商业中心C座3楼
东方卓德物业顾问有限公司 东银大厦C座3楼
北京特恩斯市场研究咨询有限公司上海分公司 港博大厦C座3楼
招商银行股份有限公司上海南西支行 高登金融大厦A座2楼
廖创兴房地产开发有限公司 海通证券大厦A座201室
浦东发展银行 恒立大厦A座201室

解决方案 »

  1.   

    select distinct * from 
     表1,表2 where 表2.公司名称 like '%楼宇名称%'
      

  2.   


    --try
    select * from 表2 b where exists(select 1 from 表1 a where b.地址 like a.楼宇名称+'%')
      

  3.   


    --try
    select * from 表2 b where exists(select 1 from 表1 a where b.地址 like '%'+a.楼宇名称+'%')
      

  4.   

    set nocount on
    declare @表1 table(楼宇名称  varchar(100)) 
    insert @表1 select '埃力生国际大厦' 
    insert @表1 select '创兴大厦' 
    insert @表1 select '东海商业中心' 
    insert @表1 select '东银大厦' 
    insert @表1 select '港博大厦' 
    insert @表1 select '高登金融大厦' 
    insert @表1 select '光明大厦' 
    insert @表1 select '海通证券大厦' 
    insert @表1 select '恒积大厦' 
    insert @表1 select '恒立大厦' declare @表2 table(公司名称 varchar(100), 地址 varchar(100)) 
    insert @表2 select '北京电通广告有限公司上海分公司', '埃力生国际大厦A座201室' 
    insert @表2 select '东展物业管理有限公司', '创业大厦A座2楼' 
    insert @表2 select '杜邦中国(集团)有限公司上海分公司', '东海商业中心C座3楼' 
    insert @表2 select '东方卓德物业顾问有限公司', '东银大厦C座3楼' 
    insert @表2 select '北京特恩斯市场研究咨询有限公司上海分公司', '港博大厦C座3楼'
    insert @表2 select '招商银行股份有限公司上海南西支行', '高登金融大厦A座2楼' 
    insert @表2 select '汉高(中国)投资有限公司', '电子大厦A座2楼' 
    insert @表2 select '廖创兴房地产开发有限公司', '海通证券大厦A座201室' 
    insert @表2 select '喜顺投资有限公司', '丰满大厦A座201室' 
    insert @表2 select '浦东发展银行', '恒立大厦A座201室' 
    select t2.地址 from @表2 t2,@表1 t1 where charindex(''+t1.楼宇名称+'',t2.地址)>0/*地址                                                                                                   
    ---------------------------------------------------------------------------------------------------- 
    埃力生国际大厦A座201室
    东海商业中心C座3楼
    东银大厦C座3楼
    港博大厦C座3楼
    高登金融大厦A座2楼
    海通证券大厦A座201室
    恒立大厦A座201室*/
      

  5.   

    select * from 表2 b where exists(select 1 from 表1 a where b.地址 like a.楼宇名称+'%')
    正解!
      

  6.   

    select 表2 from 表1,表2 where charindex(表1.楼宇名称,表2.地址) > 0