SELECT中的Hive子查询

问题描述

我有一个类似的查询

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

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

解决方法

这可以和CROSS JOIN一起使用吗?

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

您也可以按照以下步骤进行操作,如果适合您,请告诉我。

 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 ;