mysql - MYSQL HAVING 和 WHERE 条件
问题描述
我有一个带有列的 user_table
- 名
- 姓
- 联系电话
对于自动完成 UI,用户可以自由搜索任何内容。
我想允许用户通过 full_name 和 contact_number 进行类似查询的搜索。
我写的查询就像,
select CONCAT(u.first_name ,' ', u.last_name) as full_name, contact_number from user_table u where contact_number like '%value%' HAVING full_name like '%value%';
它不起作用,因为 contact_number 和 full_name 的值都相同。如果我删除了 contact_number 或 Have close 那么部分它适用于任何一种情况。我无法将 OR 子句放在 where 和 have 之间。
解决方案
如帖子中所述
我想允许用户通过 full_name 和 contact_number 进行类似查询的搜索。
如果要使用and进行搜索,可以在如下子句中使用OR
运算符WHERE
contact_number
full_name
select CONCAT(u.first_name ,' ', u.last_name) as full_name
from user_table u
where contact_number like '%value%'
OR CONCAT(u.first_name ,' ', u.last_name) like '%value%';
或者
select CONCAT(u.first_name ,' ', u.last_name) as full_name
from user_table u
where contact_number like '%value%'
OR u.first_name like '%value%'
OR u.last_name like '%value%';
推荐阅读
- spring-boot - 使用 Spring Security 保护 URL:多个不同的角色
- swift - 无法将类型“用户”的返回表达式转换为返回类型“用户?” 从 Firebase 获取 currentUser
- reactjs - 如何正确配置 Firebase 并在 Firestore 中获取数据
- html - 树状嵌套列表结构中的粘性行
- node.js - 节点:保存除数组字段外的所有数据
- c# - 跨多个聚合根的域规则验证
- firebase - 未调用firebase计划的云功能
- vba - 鼠标悬停时如何更改 MS PowerPoint 中的图像
- java - 如何在java中将任何日期时间格式解析为yyyy-MM-dd
- python - NameError:名称'i'未定义num_Tabs