Выбрать внутри Выбрать в улье - PullRequest
1 голос
/ 26 сентября 2019

Я пытаюсь вставить записи в выходную таблицу t2, используя значения из другой таблицы t1.При этом мне также нужно использовать максимум столбца col3 из t2.

Чтобы добиться того же, я пытался использовать select max (c1) в операторе select таблицы t1.То же самое хорошо работает в SQL.Есть ли альтернативный метод для достижения того же в Hive?

INSERT INTO t2 
SELECT t1.c AS col1,
(SELECT MAX(col3)+1 FROM t2) AS col2
FROM t1;

Это ошибка, которую я получаю

FAILED: ParseException line 7:1 cannot recognize input near '(' 'select' 'max' in expression specification

1 Ответ

1 голос
/ 26 сентября 2019
INSERT INTO t2 
SELECT t1.c AS col1, 
       s.col2, 
       ... you need to provide all columns here
FROM t1
     cross join (select MAX(col3)+1 AS col2 FROM t2) s
;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...