我正在搜索功能。我想搜索几个选定列具有给定值的位置,但必须限制在user_id='x'
位置。我所提供的是所有结果,而不仅仅是user_id='x'
的位置,这就是我想要的:
在我的查询下面,该查询返回所有内容,而不仅仅是搜索user_id='x'
的数据
SELECT * FROM request
WHERE product_name LIKE 'NDQB12%' OR request_id LIKE 'NDQB12%'
OR batch_no LIKE 'NDQB12%' AND user_id='16';
意见建议
最佳答案
您需要使用括号来分隔条件:
SELECT *
FROM request
WHERE
(
(product_name LIKE 'NDQB12%')
OR (request_id LIKE 'NDQB12%')
OR (batch_no LIKE 'NDQB12%')
)
AND user_id='16';
如果先前条件之一为True,则此查询将仅显示用户
16
的数据。关于mysql - 仅在满足条件的列中进行多列搜索,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/49282192/