SQL (Redshift) ошибка при использовании, когда - этот тип коррелированного шаблона подзапроса не поддерживается - PullRequest
0 голосов
/ 17 января 2020

Я пытаюсь вернуть пару столбцов «среднего значения», используя следующее:

select 
    date,
    avg(case when hour >= 23 or hour <= 6) then (select price) else null end) as price1,
    avg(case when (hour >= 16 and hour <= 18) then (select price) else null end) as price2
from 
    xxxxxxxxx
where 
    date <= '2019-12-31' and
    date >= '2018-12-01'
group by 
    date
order by  
    date

, это работает, когда я использую каждое среднее значение (случай, когда), но когда я использую их оба, я получаю ошибка

Недопустимая операция: этот тип коррелированного шаблона подзапроса не поддерживается из-за внутренней ошибки

1 Ответ

1 голос
/ 17 января 2020

Почему select в select?

select date,
       avg(case when hour >= 23 or hour <= 6 then price end) as price1,
       avg(case when hour >= 16 and hour <= 18 then price end) as price2
from xxxxxxxxx
where date <= '2019-12-31' and
      date >= '2018-12-01'
group by date
order by date;

else null также является избыточным.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...