我有这样的查询。我想使用名称为“ A”的列进行过滤。
select 'DummyValue1' as ColumnNameA
from TableT.
现在我想应用过滤器
select 'DummyValue1' as ColumnNameA
from TableT
where ColumnNameA = "Value1" .
我如何在Oracle中做到这一点。
请在这里注意“ DummyValue1”,因为ColumnNameA实际上不是数据库列。我只是在我的结果集中创建。
最佳答案
由于查询处理的顺序,您不能在WHERE
子句中使用别名。但是您可以使用外部选择或CTE进行类似操作
SELECT t.*
FROM
(
SELECT 'DummyValue1' as ColumnNameA, ...
FROM TableT
) t
WHERE ColumnNameA = 'Value1'
这是SQLFiddle演示