我想使用簡單的使用提交的字段在MySQL中獲取記錄。更確切地說,用戶輸入名稱(名字或姓氏或全名),服務器應返回匹配的行。在MySQL的HAVING和WHERE子句之間使用'OR'?
我在做什麼,到目前爲止是這樣的:
SELECT * FROM people
WHERE
firstname LIKE '%user_submitted_data%' OR
lastname LIKE '%user_submitted_data%'
,從目前來看效果很好,但(顯然)將不會在用戶提交的全名工作。有沒有辦法在整個'WHERE類型條件'和'HAVING類型條件'之間添加OR?這樣我可以這樣做:
SELECT [some fields], CONCAT(firstname, ' ', 'lastname') as fullname
FROM people
WHERE
firstname LIKE '%user_submitted_data%' OR
lastname LIKE '%user_submitted_data%' OR
HAVING fullname LIKE '%user_submitted_data%'
我知道我可以只分割原始字符串,但有一定的負面影響,因爲你必須處理包含空格,如「德高盧」之類的東西的名稱。
謝謝,它修復了它。 – Jimmy 2009-08-22 18:31:14