2011-10-03 61 views
1

我有一個小問題搞清楚什麼請求(MySQL的)將滿足此要求:SQL Query reg.ex.匹配

表1

+++++++++++++++++ 
id| name 
+++++++++++++++++ 
1 | John Smith 
2 | Eric Smith 
3 | Martha Smith 
4 | Smith 
5 | Ronald Smith Donald 
6 | Marc Fisher 

表2

+++++++++++++++++++++++ 
regex | value1 | value2 
+++++++++++++++++++++++ 
Smith | Mister | 356 
Fisher| Sir | 24 

要選擇結果值

RESU lt集

+++++++++++++++++++++++++++++++++++++++++++++++++++ 
id| name    | regex | value1 | value2 
+++++++++++++++++++++++++++++++++++++++++++++++++++ 
1 | John Smith   | Mister | 356 
2 | Eric Smith   | Mister | 356 
3 | Martha Smith  | Mister | 356 
4 | Smith    | Mister | 356 
5 | Ronald Smith Donald | Mister | 356 
6 | Marc Fisher   | Sir | 24 

在此先感謝。

回答

2

你可以使用MySQL的regexp:如果一個名稱相匹配表2中不止一個regex

select * 
from Table1 t1 
join Table2 t2 
on  t1.name regexp t2.regex 

有趣的事情會發生。

+0

是啊,找到了,謝謝,可能做得出來。由於我總是使用T-SQL,我不知道MySQL有這樣的功能:) – BShip