Импала / Улей - Подведите сумму коду корректировки - PullRequest
0 голосов
/ 20 февраля 2019

У меня есть таблица Impala с именем REV, в которой есть wire_code и сумма для каждого кода провода

+---------+------+
|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  |
+---------+------+

Iнеобходимо настроить количество проводного кода, который доступен как adj_wc в таблице FA.Например:

"abc" есть в таблице FA, и его значение настроено на "def", тогда мой вывод должен быть - wire_code "def" имеет значение (abc + def), как показано ниже.сумма "abc" останется прежней.

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

Пожалуйста, помогите в этом запросе.Заранее спасибо!

1 Ответ

0 голосов
/ 20 февраля 2019

Использование двух объединений:

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
;
...