站內搜尋

Wednesday, September 25, 2013

[MYSQL] 如何在JOIN時 讓兩張表的欄位值進行模糊比對 (用LOCATE來達到LIKE比對的目的)

假設兩張表 table_a 、  table_b 分別有 a 跟 b 欄位,假設我們需要讓 table_a 跟 table_b 作 JOIN 然後條件是 a 、 b 兩欄作模糊比對,直覺上會想用 LIKE ,但是因為是欄位值,所以不能用 a LIKE '%b%' 這種錯誤的語法,應該怎麼做呢?
語法如下:

SELECT * FROM table_a INNER JOIN table_b ON LOCATE(table_a.a,table_b.b)>0

MySql 官網 LOCATE 介紹

No comments:

Post a Comment