Impala/Hive - 汇总调整代码的金额
Posted
技术标签:
【中文标题】Impala/Hive - 汇总调整代码的金额【英文标题】:Impala/Hive - Sum up the amount for Adjustment code 【发布时间】:2019-02-19 22:46:06 【问题描述】:我有一个名为 REV 的 Impala 表,其中包含每个线代码的线代码和数量
+---------+------+
|wire_code| amt |
+---------+------+
| abc | 100 |
+---------+------+
| def | 50 |
+---------+------+
| ghi | 250 |
+---------+------+
| jkl | 300 |
+---------+------+
另一个表是FA,它有wire_code和Ajusted_wire_code。
+---------+------+
|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 |
+---------+------+
请在此查询中提供帮助。 提前致谢!
【问题讨论】:
【参考方案1】:使用两个连接:
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
;
【讨论】:
此查询对数据集有效。非常感谢! 我已经在实际数据集上测试了这个脚本,该数据集还有一列“报告行” - 我已经更新了相关问题。当我们有任何在两个电汇代码(wire_code 和 adj_wc)中都不常见的报告行时,就会使用此查询对其进行过滤。请帮助更新此查询以获取此类记录。 @ASaraf 请不要在接受答案后修改问题。请再创建一个问题。这有很多原因。第一 - 我不一定知道修改后问题的答案。第二,这简直是在浪费回答者的时间。请阅读以下内容:meta.***.com/questions/309237/… 将您的原始问题恢复到以前的版本+ 再创建一个问题。看,如果我是新的,我什至不会回答你的问题,你以后会更新它 抱歉编辑原始问题。我已将更改还原为原始版本。您能否帮助我更改此查询以获取新列。我将发布新问题。 请帮助解决新问题并提供更新的详细信息。 ***.com/questions/55376463/…以上是关于Impala/Hive - 汇总调整代码的金额的主要内容,如果未能解决你的问题,请参考以下文章