SQL搜索列分别带有一个组合关键字

时间:2019-03-15 19:45:52

标签: mysql sql

我正在建立一个搜索表单来搜索表中的名字和姓氏:

表结构:

Column 1 - First Name
Column 2 - Last Name

这是我当前的查询:

SELECT * 
FROM customers 
WHERE first_name LIKE '%" . $keyword . "%'" . " OR 
    last_name LIKE '%" . $keyword . "%'"

如果我分别搜索名字或姓氏,这会很好。

如何修改查询以同时搜索名字和姓氏作为一个关键字,并且仍然能够分别搜索名字和姓氏?

示例:“ Joe Shmoe”

通过上述查询,如果我搜索“ Joe Shmoe”,则不会返回任何结果。

我尝试了this example,但做对了。

1 个答案:

答案 0 :(得分:3)

这是您想要的吗?

SELECT c.*
FROM customers c
WHERE CONCAT_WS(' ', first_name, last_name) LIKE '%" . $keyword . "%'" . "