Использование временной переменной при создании Netezza VIEW - PullRequest
0 голосов
/ 03 ноября 2018

Вот простое представление, которое я хотел бы создать, но я хотел бы только четыре столбца в конечном виде: 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 определить такое временное значение?

В этом простом примере, конечно, я мог бы каждый раз заменять каждое из моих утверждений "когда d" на "когда a + b + c", но мой реальный сценарий более сложен, чем показано здесь.

1 Ответ

0 голосов
/ 03 ноября 2018

Вы можете использовать подзапрос:

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;
...