sql查找表中一个字段中名称具有包含关系的所有记录

比如表中有个name字段
name
张三
张三1
张三2
李四
王五
王五1
我想通过sql语句找出具有包含关系的记录,如
张三
张三1
张三2
王五
王五1
我用的数据库是mysql,charindex函数在mysql没有的,而且也不支持 '%'+ b.name + '%'的写法
非常感谢 vinson_shen 和wforce 的回答

第1个回答  2010-06-23
我用的数据库是mysql
那这样:

select t3.name
from tb_stat t1, tb_stat t2, tb_stat t3
where t1.name <> t2.name and instr(t2.name,t1.name)>0 and t3.name like concat('%',t1.name,'%') group by t3.name本回答被提问者采纳
第2个回答  2010-06-23
例如表名叫table:
select a.name
from table a inner join table b
on a.name <> b.name and (a.name like '%'+ b.name + '%' or b.name like '%'+ a.name + '%' )
order by a.name
相似回答