我正在尝试为一个小型数据库创建一个小搜索引擎。 “CONCAT()AS名称”不起作用,所以如何使用Concat()之类的东西作为xxx?
在这里创建了一个示例http://sqlfiddle.com/#!2/21b5c/5
我尝试做的是
SELECT
CONCAT(names,' ',office) AS bigDataField
FROM item_table
WHERE bigDataField LIKE "%jessy%";
使用concat字段的最佳方法是什么?
答案 0 :(得分:4)
您可以使用HAVING
子句,而不是复制CONCAT()
子句中的WHERE
函数。
例如:
SELECT CONCAT(`names`,' ',`office`) `bigDataField`
FROM `item_table`
HAVING `bigDataField` LIKE "%jessy%";
答案 1 :(得分:2)
您不能在where
子句中使用别名。
SELECT CONCAT(names,' ',office) AS bigDataField
FROM item_table
WHERE CONCAT(names,' ',office) LIKE "%jessy%";
答案 2 :(得分:1)
很遗憾,您无法在WHERE
子句中为计算列使用别名 - 您需要在CONCAT(names,' ',office)
子句中使用WHERE
。
这篇文章有更详细的内容:Can you use an alias in the WHERE clause in mysql?