在MYSQL select语句中使用'%'和列名?

时间:2012-05-01 22:42:02

标签: mysql

我有一个查询,它查看两个mysql表中的部分匹配以进行连接:

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

这可以很好地用作连接,但是... table2中的某些值实际上是表1中值的子串 - 特别是它们是url。因此,table1.val = google.com时,table1.val可能等于http://google.com

如何使用table2 val周围的'%'运算符进行此比较。

提前致谢!

2 个答案:

答案 0 :(得分:4)

像这样:

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

请注意,此功能的效果不如table1.val = table2.val,因为它现在必须搜索table2中的所有行。

答案 1 :(得分:0)

  

问:如何在table2 val周围使用'%'运算符来实现此目的   比较。

答:你没有:)

您可以按名称(例如“mycolumn”),完全限定名称(例如“mytable.myname”)或按顺序(例如“1”)指定列。