SELECT字段作为mytest WHERE mytest IS NULL - 字段“mytest”未找到?

时间:2015-02-24 11:48:43

标签: sql db2

我试图在where子句中使用选定字段的命名别名,但数据库抱怨无法找到所述字段。

查询:

SELECT somefunction(myfield) as mytest, myotherfield as mytest2
FROM database.table
WHERE mytest IS NULL OR mytest2 IS NULL

期望:数据库只会测试somefunction(myfield)mytest的结果为NULL

结果:数据库无法找到mytestmytest2

我有什么遗失的东西;为什么这样的事情不起作用?

1 个答案:

答案 0 :(得分:4)

  

选择somefunction(myfield)作为mytest,myotherfield作为mytest2 FROM    WHERE mytest IS NULL或mytest2 IS NULL

编辑:对不起表。

可能重复:

Using column alias in WHERE clause of MySQL query produces an error

<强>答案:

您只能在GROUP BY,ORDER BY或HAVING子句中使用列别名。

  

标准SQL不允许您引用WHERE中的列别名   条款。强制执行此限制是因为WHERE代码是   执行后,列值可能尚未确定。

http://dev.mysql.com/doc/refman/5.0/en/problems-with-alias.html

复制