创建Netezza VIEW时使用临时变量

时间:2018-11-03 01:43:38

标签: sql netezza

这是我想创建的一个简单视图,但最终视图中我只希望有四列: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”语句,但是我的实际情况比这里说明的要复杂。

1 个答案:

答案 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;