Hive 加入不同的
Posted
技术标签:
【中文标题】Hive 加入不同的【英文标题】:Hive join with distinct 【发布时间】:2017-01-24 15:07:07 【问题描述】:我有两个表 TableA 和 TableB。
TableA 具有列 REC_NUM 和 ITEM_ID。 TableB 有 ITEM_ID、UNITS 列。
我需要从 TableA 中获取一个不同的 ITEM_ID,并获取所有 TableB 中记录了 TableA 中的 ITEM_ID 与 TableB 中的 ITEM_ID 的每个匹配值。
谁能告诉我我可以做到这一点。
【问题讨论】:
【参考方案1】:根据问题:
TABLEA 的架构: REC_NUM INT,ITEM_ID INT
TABLEB 的架构: ITEM_ID INT,UNITS INT
以下查询应该可以工作:
SELECT b.* FROM (SELECT DISTINCT ITEM_ID FROM TABLEA) a JOIN TABLEB b ON a.ITEM_ID=b.ITEM_ID;
【讨论】:
会发生什么?查询是否解析?结果出乎意料吗? @ncke 查询解析并根据要求给出结果。【参考方案2】:如果我错了,请纠正我
select ITEM_ID, UNITS from TableB where ITEM_ID in (select ITEM_ID from tableA)
我不确定你为什么要使用 distinct,它应该与列 REC_NUM 一起使用吗?
【讨论】:
以上是关于Hive 加入不同的的主要内容,如果未能解决你的问题,请参考以下文章