表a
id 地名
1 上海lajflsjf
2 sf杭州skfjk
3 dsf广州sf
4 sf武汉sf
5 sf上海sfs
6 sf广州表b
id 地名
1 上海
2 杭州如果查出表a中所有包含表b中地名列的记录?
即查出
1 上海lajflsjf
2 sf杭州skfjk
5 sf上海sfs
id 地名
1 上海lajflsjf
2 sf杭州skfjk
3 dsf广州sf
4 sf武汉sf
5 sf上海sfs
6 sf广州表b
id 地名
1 上海
2 杭州如果查出表a中所有包含表b中地名列的记录?
即查出
1 上海lajflsjf
2 sf杭州skfjk
5 sf上海sfs
from 表a a
where exists(select 1 from 表b where charindex(地名,a.地名)>0)
select a.* from #a a,#b b where a.地名 like '%'+b.地名+'%'
请问这样写哪里错了(是针对另外两个表的)?
select a.* from a where exists( select 1 from b patindex('%b.地名%',a.地名)<>0)
我只有通过rtrim去除空格了。这样就对了
select a.* from #a a,#b b where a.地名 like '%'+rtrim(b.地名)+'%'
可是难道一定要用rtrim吗,以后碰到类似的问题还有什么好方法?最好让空格从来就不出现。可能是定义的数据类型不恰当吧?
可是我的数据长度是不固定的啊!