日期:2014-05-18  浏览次数:20492 次

两表中,如何取一表一字段包含另一表一字段的数据
请教在MS SQL中。有两个表。一表中:一字段为公司全名,二表中:一个字段为简称。现在希望找出包含二表中简称的,一表的数据。如何做呢?谢谢了

如:一表中有一行数据的名称为:中华人民共和国

另一表,一行数据名称为:人民

如何找出来呢?

谢谢~!

------解决方案--------------------
SELECT * FROM TB1 T1,TB2 T2 WHERE T1.NAME LIKE '%'+T2.NAME+'%'
------解决方案--------------------
SQL code

-->>>生成测试数据
go
if OBJECT_ID('test')is not null
drop table test
go
create table test(
companyname varchar(50)
)
go
insert test
select '厦门汇源进出口有限公司' union all
select '厦门跃龙机电进出口有限公司' union all
select '厦门非金属矿进出口有限公司' union all
select '厦门国贸控股建设开发有限公司' union all
select '厦门象屿物流集团有限责任公司' union all
select '厦门环华有限公司'

go
if OBJECT_ID('tbl')is not null
drop table tbl
go
create table tbl(
briefname varchar(50)
)
go
insert tbl
select '厦门汇源' union all
select '厦门跃龙' union all
select '厦门物流' union all
select '厦门环华'

select * from test,tbl where CHARINDEX(briefname,companyname)>0
/*
companyname    briefname
厦门汇源进出口有限公司    厦门汇源
厦门跃龙机电进出口有限公司    厦门跃龙
厦门环华有限公司    厦门环华
*/
select companyname from test,tbl where CHARINDEX(briefname,companyname)>0
/*
companyname
厦门汇源进出口有限公司
厦门跃龙机电进出口有限公司
厦门环华有限公司
*/