【问题标题】:Hive Subquery in SELECTSELECT 中的 Hive 子查询
【发布时间】:2020-12-27 05:08:28
【问题描述】:

我有一个类似的查询

SELECT name, salary/ (SELECT max(money) from table_sal) FROM table_a; 

我收到一个错误提示

Unsupported SubQuery Expression Invalid subquery. Subquery in SELECT could only be top-level expression

有没有办法解决这个问题?

【问题讨论】:

    标签: sql hadoop hive subquery hql


    【解决方案1】:

    这是否适用于CROSS JOIN

    SELECT name, salary / s.max_money
    FROM table_a CROSS JOIN
         (SELECT max(money) as max_money from table_sal) s
    

    【讨论】:

      【解决方案2】:

      您也可以按照以下方式执行此操作,如果它适合您,请告诉我。

       Select t1.name
            , t1.salary/T2.max_money
       from
         (SELECT name
               , salary, 1 as dummy
                 from  table_a ) t1 
        Join
            (SELECT max(money) as max_money
                  , 1 as dummy 
                    from table_sal) t2
        on t1.dummy = t2.dummy ;
      

      【讨论】:

      • 不一致的布局让我大吃一惊,抱歉,我有“整理”一下的冲动。
      猜你喜欢
      • 2015-02-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-04-20
      • 1970-01-01
      • 2014-02-23
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多