如何在Hive的select语句中编写子查询

问题描述

我需要编写一个在选择语句中具有子查询的Hive查询。我知道Hive不支持此功能,因此我正在寻找我的选择。

select
    a,b,(select max(tbl.c) from sample_table_a tbl where tbl.d like 'X012%') as d,e,f
from sample_table_b 

如何在蜂巢中实现上述查询而不使用交叉连接,因为sample_table_a包含约40000个元组,sample_table_b也是如此。

解决方法

这可能是一个选择:
t中将只有一行,因此联接应该没有太大问题

    select
        a,b,max_value,e,f
    from 
        sample_table_b 
 
    inner join

    (
     select 
       max(tbl.c) as max_value
     from 
       sample_table_a tbl 
     where 
       tbl.d like 'X012%'
    )
    t;

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...