这是我想创建的一个简单视图,但最终视图中我只希望有四列:a,b,c,e。我想将d定义为临时使用,以确定e的值,但是我不希望d成为结果视图的一部分。
create view v as
select a, b, c, a+b+c as d,
case when d > 1000 then 1
when d > 100 then 2
when d > 10 then 3
else 4 END as e
from tbl;
Netezza SQL中有什么方法可以定义这样的临时值?
在这个简单的示例中,我当然可以每次用“ when a + b + c”替换每个“ when d”语句,但是我的实际情况比这里说明的要复杂。
答案 0 :(得分:0)
您可以使用子查询:
create view v as
select a, b, c,
(case when d > 1000 then 1
when d > 100 then 2
when d > 10 then 3
else 4
end) as e
from (select tbl.*, (a + b + c) as d
from tbl
) t;