我如何使用带有新列名称的 where 子句?
SELECT
IF(cond, 'yes', 'no') AS 'NEW_COLUMN'
FROM
table
WHERE
NEW_COLUMN = 'yes'
MySQL 错误 1054:“where 子句”中的未知列“NEW_COLUMN”
最佳答案
在大多数版本的 SQL 中,您需要使用子查询、公用表表达式或重复逻辑。 MySQL 扩展了 having
子句的使用来处理这个问题。
因此,以下非标准 SQL 在 MySQL 中有效:
SELECT IF(cond, 'yes', 'no') AS 'NEW_COLUMN'
FROM table
HAVING NEW_COLUMN = 'yes';
关于MySQL 错误 1054 : Setting column name and use to where clause,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28239450/