两个表的查询问题。
表1中有一个字段AC,若干记录行,如下:
st
mc
tc
表2中有一个字段DA
现在表2中的记录行中字段DA的字符包含表1中AC的记录的内容,比如stb包含st、mtc包含tc
现在要求使用一条查询语句,查找出包含表1中内容的表2的记录。
谢谢大家。
[解决办法]
create table tb1(ac varchar(10))
insert into tb1 values( 'st ')
insert into tb1 values( 'mc ')
insert into tb1 values( 'tc ')
create table tb2(da varchar(10))
insert into tb2 values( 'stb ')
insert into tb2 values( 'mtc ')
select tb2.* from tb1,tb2 where charindex(tb1.ac,tb2.da)> 0
[解决办法]
楼上正确,我给出结果.
create table tb1(ac varchar(10))
insert into tb1 values( 'st ')
insert into tb1 values( 'mc ')
insert into tb1 values( 'tc ')
create table tb2(da varchar(10))
insert into tb2 values( 'stb ')
insert into tb2 values( 'mtc ')
select tb2.* from tb1,tb2 where charindex(tb1.ac,tb2.da)> 0
drop table tb1,tb2
/*
da
----------
stb
mtc
(所影响的行数为 2 行)
*/
[解决办法]
--或者如下:
create table tb1(ac varchar(10))
insert into tb1 values( 'st ')
insert into tb1 values( 'mc ')
insert into tb1 values( 'tc ')
create table tb2(da varchar(10))
insert into tb2 values( 'stb ')
insert into tb2 values( 'mtc ')
select tb2.* from tb1,tb2 where tb2.da like '% ' + tb1.ac + '% '
/*
da
----------
stb
mtc
(所影响的行数为 2 行)
*/
drop table tb1,tb2