Impala /hive-合计调整代码的金额

r7knjye2  于 2021-06-27  发布在  Hive
关注(0)|答案(1)|浏览(299)

我有一个名为rev的impala表,表中有电线代码和每个电线代码的金额

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

另一个表是fa,它有wire\u代码和一个justed\u wire\u代码。

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

我需要调整金额的电线代码,这是可用的调整表。例如:
“”在fa表中,它被调整为“def”,那么我的输出应该是-wire\u code“def”的数量(+def)如下所示“金额将保持不变。

+---------+------+
|wire_code| amt  | 
+---------+------+
| abc     | 100  |  
+---------+------+
| def     | 150  |
+---------+------+
| ghi     | 250  |
+---------+------+
| jkl     | 550  |
+---------+------+

请在此查询中提供帮助。提前谢谢!

cfh9epnr

cfh9epnr1#

使用两个连接:

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
;

相关问题