Join 使用LIKE连接配置单元中的表

Join 使用LIKE连接配置单元中的表,join,hiveql,Join,Hiveql,我将tbl_A加入tbl_B,在tbl_A中的CustomerID列加入tbl_B中的输出列,其中包含客户ID。但是,tbl_B在相关行中有我不想在加入时丢失的所有其他信息。我尝试使用类似于的加入,但丢失了输出列中不包含客户ID的行 以下是我在配置单元中的加入查询: select a.*, b.Output from tbl_A a left join tbl_B b On b.Output like concat('%', a.CustomerID, '%') 但是,我从输出中丢失了其他行

我将
tbl_A
加入
tbl_B
,在
tbl_A
中的
CustomerID
列加入
tbl_B
中的
输出列,其中包含
客户ID
。但是,
tbl_B
在相关行中有我不想在加入时丢失的所有其他信息。我尝试使用类似于
加入
,但丢失了输出列中不包含客户ID的行

以下是我在配置单元中的加入查询:

select a.*, b.Output from tbl_A a
left join tbl_B b
On b.Output like concat('%', a.CustomerID, '%')

但是,我从输出中丢失了其他行

我建议首先将自由浮动字段中的所有ID提取到一个单独的表中,在您的情况下,自由浮动字段是表B中的“输出”列。然后将这个ID为的表再次连接到表B,以在每一行中填充ID,然后将第二个连接的表(即ID为的表B)连接到表A


希望这有帮助

您还可以通过以下简单的配置单元查询来实现目标:)

选择a.*,b.输出
来自tbl_A A,tbl_B
其中b.输出,如concat(“%”,a.CustomerID,“%”)

很有趣。您声称此代码执行时没有错误?请阅读并执行。PS如果您想要b中的所有行,您需要b左连接a或右连接b。如果您能够在没有错误的情况下运行此操作,您可以共享您的配置单元版本吗?据我所知,蜂巢只允许equi连接;换句话说,它不允许连接短语在b.输出(如concat(“%”,a.CustomerID,“%”)上以
的形式出现
。见此: