【问题标题】:Hive join with distinctHive 加入不同的
【发布时间】: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 的每个匹配值。

谁能告诉我我可以做到这一点。

【问题讨论】:

    标签: hive hiveql


    【解决方案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 一起使用吗?

    【讨论】:

      猜你喜欢
      • 2021-12-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-11-13
      • 1970-01-01
      • 1970-01-01
      • 2019-02-23
      相关资源
      最近更新 更多