如何在 Hive 的不平等条件下进行左连接

How do I do a LEFT join on INEQUALITY condition in Hive

我需要在

上实现左连接

TABLE答:id(1,2,3);价值(A,B,C)<br> TABLE B: id(2,3);价值(E,F)

然后写一个连接给我,

TABLE C: A.id(1,2,3); B.id(NULL,NULL,2); A.value(A,B,C); B.value(NULL,NULL,E)

如果你的数据是这样的:

id  val
1    A
2    B
3    C

还有这个

id val
2  E
3  F

你想要

id  val1  id2  Val2
1    A    null null
2    B    2     E
3    C    null null

然后:

select a.id as aid, a.val as aval, b.id as bid, b.val as bval
from table1 a
 left outer join
 table2 b
 on a.id = b.id
 where b.id = 2;

当然你的条件是 b.val = E 或其他东西,但你不清楚。

你也可以这样做:

select a.*, b.val as bval
from table1 a
left outer join
(Select * from table2 where id = 2) b
on a.id=bid;

那么您就不会随身携带可能没有附加信息的额外 ID。您也可以通过其他方式调节 table。再次不确定它是否正是您所需要的,但祝你好运。