2016-05-26 6 views
0

Я пытаюсь запустить запрос куста, используя функцию COALESCE, чтобы создать представление. Но это бросает ошибку, как не может распознать вход вблизи «(» «SELECT» «realvalue» в описании экспрессииПроблема с командой COALESCE в Hive

Запрос приводится ниже. Пожалуйста, помогите и указать, что неправильно в этом.

CREATE VIEW IF NOT EXISTS exampledb.`ara_service` AS 
SELECT T1.EntityId, T1.entityname AS EntityName, 
     T1.`xxx`, 
     T1.`yyy`, 
     COALESCE (T1.`aaa`, (SELECT `realvalue` FROM exampledb.`aba_service` 
          WHERE `id` = '333')) AS `CombinedValue`, 
     T1.`ddd`, 
     T1.`jjj`, 

. и т.д ..

Пожалуйста, помогите ошибка в использовании оператора выбора внутри COALESCE NoViableAltException (231 @ [435: 1: precedenceEqualExpression: ((LPAREN precedenceBitwiseOrExpression COMMA) => precedenceEqualExpressionMutiple | precedenceEqualExpressionSingle);]).

Благодаря

ответ

0

, если все, что вам нужно, это значение по умолчанию, вы могли бы сделать

CREATE VIEW IF NOT EXISTS exampledb.`ara_service` AS 
SELECT T1.EntityId, T1.entityname AS EntityName, 
     T1.`xxx`, 
     T1.`yyy`, 
     COALESCE (T1.`aaa`, def.`realvalue`) AS `CombinedValue`, 
     T1.`ddd`, 
     T1.`jjj`, 
FROM your_table T1 
CROSS JOIN (
    SELECT `realvalue` 
    FROM exampledb.`aba_service` WHERE `id` = '333') def 
Смежные вопросы