1

我希望有人可以帮助解决以下问题。我正在尝试创建特定于用户的搜索功能。当有人登录时,他们可以运行搜索,该搜索应该从customer_reforder_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%只是一个通配符搜索词,表示 door 或 Doreen(用于测试)。在实际代码中,它将是在搜索框中输入的值。

提前谢谢了!

4

2 回答 2

2

您需要在查询中包含圆括号,以阐明您正在搜索的术语:

SELECT *
FROM `job` 
WHERE c_name = 'John doe'
AND (customer_ref LIKE '%do%'
OR order_details LIKE '%do%')
于 2012-04-07T10:32:54.310 回答
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')
于 2012-04-07T11:53:56.143 回答