我有一个查询,它查看两个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周围的'%'运算符进行此比较。
提前致谢!
答案 0 :(得分:4)
像这样:
... WHERE table1.val LIKE CONCAT('%', table2.val, '%')
请注意,此功能的效果不如table1.val = table2.val
,因为它现在必须搜索table2
中的所有行。
答案 1 :(得分:0)
问:如何在table2 val周围使用'%'运算符来实现此目的 比较。
答:你没有:)
您可以按名称(例如“mycolumn”),完全限定名称(例如“mytable.myname”)或按顺序(例如“1”)指定列。