2012-05-31 131 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 –