Impala/Hive - 汇总调整代码的金额

Impala/Hive - Sum up the amount for Adjustment code

我有一个名为 Impala table 的 REV,每个电汇代码 wire_code 和数量

+---------+------+
|wire_code| amt  |
+---------+------+
| abc     | 100  |
+---------+------+
| def     | 50   | 
+---------+------+
| ghi     | 250  |
+---------+------+
| jkl     | 300  |
+---------+------+

另一个 table 是具有 wire_code 和 Ajusted_wire_code 的 FA。

+---------+------+
|wire_code|adj_wc|
+---------+------+
| abc     | def  |
+---------+------+
|  ghi    | jkl  |
+---------+------+

我需要调整在 FA table 中作为 adj_wc 可用的线码数量。 例如:

"abc" 在 FA table 中并且它被调整为 "def" 然后我的输出应该是 - wire_code "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
;