SQL WHERE语句多列像一个值

时间:2018-08-24 16:30:17

标签: mysql sql mysql-workbench

尝试获取一个SQL查询,在该查询中您一次定义了值,然后搜索了多列。我为相等的运算符使用了此功能,但对于LIKE运算符也需要此功能。这就是问题所在。

SELECT *
FROM table1
INNER JOIN table2 ON table2.id = table1.ref_id
WHERE (table1.email, table2.email) LIKE '%example@example.com%'

这是我当前无法使用的查询。在线上看了其他一些问题,但是这些解决方案对我不起作用。

如何使用LIKE运算符在多个列中搜索一个值?

1 个答案:

答案 0 :(得分:2)

您问题的具体答案如下:

WHERE CONCAT_WS('|', table1.email, table2.email) LIKE '%example@example.com%'

通常不会使用。更常见的方法是:

WHERE table1.email LIKE '%example@example.com%' OR
      table2.email LIKE '%example@example.com%'