我将tbl_A中的tbl_A连接到tbl_A中的列CustomerID,并将tbl_B中的列输出加入到包含客户ID的列中。但是,表B包含相关行中的所有其他信息,我不想在加入时丢失。我尝试使用like加入,但是我在输出列中丢失了不包含ID的行。
这是我在Hive中的连接查询:
select a.*, b.Output from tbl_A a
left join tbl_B b
On b.Output like concat('%', a.CustomerID, '%')
但是,我从输出中丢失了其他行。
谢谢。
答案 0 :(得分:1)
我建议首先从自由浮动字段中提取所有ID,在您的情况下是'输出'表B中的列放入单独的表中。然后再次将此表与ID表连接到表B,在每行中填入ID,然后将第二个连接表,即表B,ID为表A.
希望这会有所帮助。
答案 1 :(得分:0)
您还可以通过像这样的简单配置单元查询来实现目标:)
select a.*, b.Output
from tbl_A a, tbl_B b
where b.Output like concat('%', a.CustomerID, '%')