【问题标题】:COALESCE command issue in HiveHive 中的 COALESCE 命令问题
【发布时间】:2016-09-24 11:42:19
【问题描述】:

我正在尝试使用 COALESCE 函数运行配置单元查询来创建视图。但它会抛出错误 无法识别表达式规范中 '(' 'SELECT' 'realvalue' 附近的输入

查询如下。请帮助并提及其中有什么问题。

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 中使用 select 语句。 NoViableAltException(231@[435:1:precedenceEqualExpression : ((LPARENprecedenceBitwiseOrExpression COMMA)=>precedenceEqualExpressionMutiple|precedenceEqualExpressionSingle);])

谢谢

【问题讨论】:

    标签: select hive coalesce


    【解决方案1】:

    如果你只需要一个默认值,你可以这样做

    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   
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-09-19
      • 2016-08-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-07-23
      • 2013-12-17
      相关资源
      最近更新 更多