我希望有人可以幫助以下。我正在嘗試創建用戶特定的搜索功能。當某人登錄時,他們可以運行搜索,該搜索應返回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