我希望有人可以帮助以下。我正在尝试创建用户特定的搜索功能。当某人登录时,他们可以运行搜索,该搜索应返回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(用于测试)。在实际的代码中,它将是在搜索框中输入的值。
非常感谢提前!
非常感谢,工作的魅力:) – wiggy1977 2012-04-07 10:38:06
@ wiggy1977 - Fyi,使用'AND'和'OR'运算符会产生歧义。括号告诉数据库它应该如何处理条件。否则,数据库将应用自己的规则,这可能是也可能不是你想要的。您可能对本文感兴趣:[操作员优先级如何影响MySQL SELECT查询](http://www.databasejournal.com/features/mysql/article.php/3904221/How-Operator-Precedence-Affects-)MySQL-- -SELECT-Queries.htm – Leigh 2012-04-08 01:33:47