我想使用简单的使用提交的字段在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