在两个字段中选择搜索,就好像它是一个字段一样



我的表是:

Name | Surname
John    White
John    Red 

我想如果我输入的名字是John,它会列出我所有的名字John 的名字

例如

John White
John Red

为此,以下说明就足够了:

SELECT surname, name FROM table WHERE name LIKE :keyword

但是,如果您继续输入姓氏John R

显示的记录是:

John Red

在实践中,在这个选择中,我希望将字段namesurname视为单个字段

您可以使用concat():

SELECT surname, name 
FROM table 
WHERE CONCAT(name, ' ', surname) LIKE CONCAT('%', :keyword, '%')

这假设在keyword中始终使用一个空格来分隔名字和姓氏。

注意,我还在关键字周围添加了通配符,因为它们似乎不是参数值的一部分。

最新更新