У меня есть таблица Impala с именем REV, в которой есть wire_code, количество и строка отчета для каждого кода проводки.
+---------+------+----------------+
|wire_code| amt | Reporting_line |
+---------+------+----------------+
| abc | 100 | Database |
+---------+------+----------------+
| abc | 10 | Revenue |
+---------+------+----------------+
| def | 50 | Database |
+---------+------+----------------+
| def | 25 | Polland |
+---------+------+----------------+
| ghi | 250 | Cost |
+---------+------+----------------+
| jkl | 300 | Cost |
+---------+------+----------------+
and the other table is FA which is having wire_code and Ajusted_wire_code
+---------+------+
|wire_code|adj_wc|
+---------+------+
| abc | def |
+---------+------+
| ghi | jkl |
+---------+------+
I need to adjust the amount of wire code which is available as adj_wc in FA table.
For example:
В таблице FA есть "abc", и он настраивается на "def", а затем выводитсядолжно быть - wire_code "def" имеет количество (abc и def), как показано ниже, а количество "abc" останется неизменным.
Я использую запрос, представленный ниже, и он удаляет записи, которые не являютсяобщий в обоих кодах Wire, например, def с отчетной строкой Polland.и у abc есть одна дополнительная строка отчета. Выручка, которую необходимо добавить для определения кода def, когда abc перемещается в def.
abc настраивается на def - строки отчета def, которых нет в abc, останутся прежнимии общие строки отчетности будут скорректированы.
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
Where REP.REPORTING_LINE = REP1.REPORTING_LINE
;
Ожидаемые результаты:
+---------+------+----------------+
|wire_code| amt | Reporting_line |
+---------+------+----------------+
| abc | 100 | Database |
+---------+------+----------------+
| abc | 10 | Revenue |
+---------+------+----------------+
| def | 150 | Database |
+---------+------+----------------+
| def | 10 | Revenue |
+---------+------+----------------+
| def | 25 | Polland |
+---------+------+----------------+
| ghi | 250 | Cost |
+---------+------+----------------+
| jkl | 550 | Cost |
+---------+------+----------------+