коррелированные запросы в Netezza

Как мне переписать связанный запрос в базе данных Netezza, если у меня есть запрос, как показано ниже, в базе данных oracle...

select table1.column1,
case when table2.column2='xxxx' then
             ( select max(table3.column3) 
                  from table3  
                  where table3.column4=4 
                    and table3.column2=table1.column2 and
                        table3.column3=table4.column4
              ) 
else null
end
from table1,table2, table4.

person user2740397    schedule 08.09.2013    source источник


Ответы (1)


Рассмотрите возможность изменения структуры.

SELECT table1.column1,
CASE WHEN table2.column2='xxxx' THEN
sub_tbl3.mx
ELSE NULL
END
FROM table1 inner join
     table2
     ON table1.column1=table2.column1 inner join
    table4
    ON table1.column2=table4.column4 left outer join
(SELECT table3.column2,
     table3.column3,
      MAX(table3.column3) AS mx
FROM table3
WHERE table3.column4=4
GROUP BY  table3.column2,
     table3.column3) sub_tbl3
ON table3.column2=table1.column2
AND table3.column3=table4.column4
person Niederee    schedule 27.11.2013