2016-05-26 13 views
0

Ich versuche, eine Bienenstockabfrage mit COALESCE-Funktion zum Erstellen einer Ansicht ausführen. Aber es wirft Fehler wie nicht eingegeben werden erkennen, in der Nähe von ‚(‘ ‚SELECT‘ ‚Realvalue‘ in Ausdruck SpezifikationCOALESCE Befehl Problem in Hive

Die Abfrage ist unten angegeben. Bitte helfen Sie und erwähnen, was in dieser falsch ist.

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`, 

. etc ..

Bitte helfen der Fehler bei der Verwendung der Select-Anweisung innerhalb COALESCE ist NoViableAltException (231 @ [435: 1: precedenceEqualExpression: ((LPAREN precedenceBitwiseOrExpression COMMA) => precedenceEqualExpressionMutiple | precedenceEqualExpressionSingle);]).

Dank

Antwort

0

, wenn alles, was Sie brauchen, ist ein Standardwert ist, könnten Sie tun

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