Запрос на обновление: ОШИБКА: XX000: целевая таблица должна быть частью предиката equijoin - PullRequest
0 голосов
/ 22 ноября 2018

Я собираюсь начать работать с RedShift, поэтому я начал делать простые запросы.Но есть простой запрос, что он не работает.

Это ошибка, которая появляется, и я не понимаю, почему.

ОШИБКА: 42P10: подзапрос в FROM может не ссылаться на другиеотношения одного уровня запроса Запрос:

      UPDATE table1 
  SET    income = nvl ( y.income, 0 )
  FROM   (
  SELECT date , income
                FROM     table2
                where date=201810
                GROUP BY date) y
  WHERE table1.date =   y.date  

спасибо

1 Ответ

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

Вам необходимо указать обновляемую таблицу в объединении.Например:

UPDATE table1 
SET    income = nvl( y.income, 0 )
FROM table1,
     (SELECT   "date" , income
      FROM     table2
      WHERE    "date"=201810
      GROUP BY "date") y
WHERE table1."date" =   y."date"  
...