我希望有人可以提供以下帮助。我正在尝试创建用户特定的搜索功能。当有人登录时,他们可以运行搜索,该搜索应返回customer_ref
或order_details
列的结果。
我尝试过以下操作,但它会返回不同客户的结果。
SELECT *
FROM `job`
WHERE c_name = 'John Doe'
AND customer_ref LIKE '%do%'
OR order_details LIKE '%do%'
我想将结果限制为特定客户(原因很明显)。如果我删除底线(OR order_details LIKE '%do%'
),结果会正确锁定到客户,但是,当它在那里时,我会得到包括其他客户名称的结果。
请注意,%do%
只是一个通配符搜索词,表示门或Doreen(用于测试)。在实际代码中,它将是在搜索框中输入的值。
非常感谢提前!
答案 0 :(得分:2)
您需要在查询中包含圆括号,以阐明您要搜索的字词:
SELECT *
FROM `job`
WHERE c_name = 'John doe'
AND (customer_ref LIKE '%do%'
OR order_details LIKE '%do%')
答案 1 :(得分:0)
尝试使用CONCAT例如:
SELECT *
FROM job
WHERE job.c_name = 'John doe' AND
(job.customer_ref LIKE CONCAT '%do'
OR job.order_details LIKE CONCAT '%do')