这些是我的用户表中的字段,我正在使用MySQL:
name
lastName
surName
我有一个搜索输入,用户可以输入任何名称或全名,但我不知道如何为此构建查询,我很困难。
我正在使用LIKE句子的变体,但这并没有解决我的问题:
SELECT u FROM User u
WHERE u.name LIKE %rocky moon sun% OR u.lastName LIKE %rocky moon sun% OR u.surName LIKE %rocky moon sun% '
有什么想法吗?
答案 0 :(得分:0)
在尝试匹配字段之前,您可以连接字段,试试这个
SELECT
u
FROM
User as u
WHERE
u.name LIKE %rocky moon sun%
OR u.lastName LIKE %rocky moon sun%
OR u.surName LIKE %rocky moon sun%
OR concat (u.name,' ',u.lastName) like %rocky moon sun%
答案 1 :(得分:0)
当你必须在表之间进行连接时使用表别名,我不对简单查询使用表别名
请改用此查询 例如,如果我们想要搜索Id详细信息
SELECT id FROM User WHERE name='Rocky moon sun' and lastName='Rocky moon son' and surname='Rock moon son';