2012-05-31 223 views
0

我需要一个select语句来匹配部分来自包含全名的字段的记录。

如果记录包含约翰,它会显示与约翰,约翰逊,JohnSmith对等记录约翰可能是内部名称在mysql字段中搜索

回答

1
select 
    name_field 
from 
    my_table 
where 
    name_field like '%john%' 

更新任何地方: 对于问题

待办事项你的意思是要求“如何查找,如果row1的name_field值匹配完整或部分与其他row2到rowN的字段值相同?”

您回复“这正是我需要的”。

以下解决方案可以对您有所帮助:

select 
t.name_field_id, t.name_field as 'name_value', 
d.name_field_id as 'id_of_dup', d.name_field as 'dup_in' 
from 
my_table t, 
my_table d 
where 
d.name_field != t.name_field 
and d.name_field like concat('%', t.name_field, '%' ) 
order by name_value, dup_in; 
+0

我需要匹配存储的记录找到不与特定文字 –

+0

@AhmedHosny重复的记录或列中的值可能重复? –

+0

存储值可能有重复,应该选择记录john david和记录peter johnsmith –