Hive 黑斑羚/蜂巢-汇总调整代码的金额

Hive 黑斑羚/蜂巢-汇总调整代码的金额,hive,hiveql,impala,Hive,Hiveql,Impala,我有一个名为REV的Impala表,其中有电汇代码和每个电汇代码的金额 +---------+------+ |wire_code| amt | +---------+------+ | abc | 100 | +---------+------+ | def | 50 | +---------+------+ | ghi | 250 | +---------+------+ | jkl | 300 | +---------+------+ 另一个

我有一个名为REV的Impala表,其中有电汇代码和每个电汇代码的金额

+---------+------+
|wire_code| amt  |
+---------+------+
| abc     | 100  |
+---------+------+
| def     | 50   | 
+---------+------+
| ghi     | 250  |
+---------+------+
| jkl     | 300  |
+---------+------+
另一个表是FA,它有wire_代码和一个justed_wire_代码

+---------+------+
|wire_code|adj_wc|
+---------+------+
| abc     | def  |
+---------+------+
|  ghi    | jkl  |
+---------+------+
我需要调整导线代码的数量,该代码在FA表中可用作adj_wc。 例如:

“abc”在FA表中,它被调整为“def”,那么我的输出应该是-接线代码“def”的数量(abc+def)如下所示。 “abc”金额将保持不变

+---------+------+
|wire_code| amt  | 
+---------+------+
| abc     | 100  |  
+---------+------+
| def     | 150  |
+---------+------+
| ghi     | 250  |
+---------+------+
| jkl     | 550  |
+---------+------+
请在此查询中提供帮助。 提前谢谢

使用两个连接:

select r.wire_code, r.amt+coalesce(a.amt,0) as amt
  from REV r
       left outer join FA f on r.wire_code=f.adj_wc     --adjustments
       left outer join REV a on f.wire_code=a.wire_code --adjusted amount
;

此查询对数据集有效。非常感谢你!我已经在实际数据集上测试了这个脚本,该数据集还有一列“Reporting lines”-我已经更新了。当我们有任何报告行在wire code(wire_code和adj_wc)中都不常见时,就会使用此查询对其进行过滤。请帮助更新此查询,使其也具有此类记录。@ASaraf在接受回答后,请不要修改问题。请再提出一个问题。这有很多原因。1-我不一定知道修改后问题的答案。第二,这纯粹是浪费回答者的时间。请阅读以下内容:将原始问题还原为以前的版本+再创建一个问题。听着,如果我是新的,我甚至不会回答你的问题。你以后会更新它。为编辑原始问题道歉。我已将更改还原为原始版本。你能帮我修改一下这个新栏目的查询吗。我将发布新问题。请用更新的详细信息帮助回答新问题。