Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/62.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
MySQL错误1054:设置列名并使用where子句_Mysql_Sql_Select - Fatal编程技术网

MySQL错误1054:设置列名并使用where子句

MySQL错误1054:设置列名并使用where子句,mysql,sql,select,Mysql,Sql,Select,如何将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, '

如何将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';

在大多数SQL版本中,需要使用子查询、公共表表达式或重复逻辑。MySQL扩展了使用
having
子句来处理这个问题

因此,以下非标准SQL在MySQL中工作:

SELECT IF(cond, 'yes', 'no') AS 'NEW_COLUMN'
FROM table
HAVING NEW_COLUMN = 'yes';

我不确定您的“实际”用例,但通过重构SQL,您可以轻松实现exmaple:


从cond的表中选择“是”,我不确定您的“实际”用例,但您可以通过重构SQL轻松实现exmaple:


从cond所在的表中选择“是”

您的示例SQL可以重构为
从cond所在的表中选择“是”
@paul:将其作为答案写入。您的示例SQL可以重构为
从cond所在的表中选择“是”
@paul:将其作为答案写入。