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
;
我有一个名为 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
;