2012-05-01 48 views
0

我有一個查詢,看起來兩個MySQL表中的部分匹配做出加盟:在MYSQL select語句中對列名使用'%'?

SELECT table1.column, table2.column FROM table1, table2 WHERE table1.val LIKE table2.val 

這正常的加入,但......一些在表2的值實際上是值的子串在表格中 - 特別是它們是網址。因此,table1.val可能等於http://google.com,而table2.val = google.com。

如何在table2 val中使用'%'運算符進行此比較。

在此先感謝!

回答

4

像這樣:

... WHERE table1.val LIKE CONCAT('%', table2.val, '%') 

注意,這將不執行,以及table1.val = table2.val,因爲它現在必須搜索在table2所有行。

0

問:我如何在table2 val周圍使用'%'運算符來進行這個 比較。

答:你不:)

您可以指定名稱的列(如「mycolumn」),通過完全限定域名(如「mytable.myname」)或按順序(如「 1" )。