gpt4 book ai didi

join - 如何在 HIVE 中连接两个表。

转载 作者:可可西里 更新时间:2023-11-01 15:01:01 25 4
gpt4 key购买 nike

我有两个表 A 和 B,它们都具有以下结构。

// Table A

Name Age actualdate no

// Table B

City sdate edate id

我希望使用 JOIN 从 A 和 B 获取所有字段,其中 id = no 和 sdate <= actualdate and edate >= actualdate。

我尝试如下使用 where 子句,但它不起作用。

select v3.*, t3.* from A v3
JOIN
B t3
where v3.id = t3.no and
v3.sdate <= t3.actualdate and
v3.edate >= t3.actualdate
limit 1;

使用 On 子句:

select v3.*, t3.* from A v3
JOIN
B t3
ON ( v3.id = t3.no and
v3.sdate <= t3.actualdate and
v3.edate >= t3.actualdate )
limit 1;

不幸的是,Hive 不支持等值连接。有没有办法使用连接来实现上述目标?

最佳答案

您可以使用 WHERE 进行过滤,而不是在 ON 子句中使用 <= 和 >= 条件。

select v3.*, t3.* from A t3
JOIN
B v3
ON ( v3.id = t3.no)
WHERE v3.sdate <= t3.actualdate and
v3.edate >= t3.actualdate
limit 1;

注意:您的 t3 和 v3 别名已互换。

关于join - 如何在 HIVE 中连接两个表。,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25832513/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com