Каким образом можно выбирать значения заполняемого поля
У меня есть таблица в которой есть правила:
rules
| RULE_ID | RESULT | RUN_ID |
|---|---|---|
| rule_one | 65 | 4567 |
| rule_two | 0 | 4567 |
| rule_one | 635 | 1234 |
| rule_two | 20 | 1234 |
Есть таблица в которой есть значения:
applications
| APPLICATION | SOMEVAL | RUN_ID |
|---|---|---|
| app_one | 65 | 1234 |
| app_two | 0 | 1234 |
| app_three | 625 | 4567 |
| app_four | 43 | 4567 |
CASE when cw.liq_min_prepay_pct is null and ds.rule_id = 1 or ds.result != 0) then ds.result END AS liq_min_prepay_pct
Я хочу сделать join, который должен сделать такую выборку:
| RUN_ID | APPLICATION | rule_one | rule_two |
|---|---|---|---|
| 1234 | app_one | 635 | 1234 |
| 4567 | app_two | 65 | 0 |
Была идея сделать так:
select run_id,APPLICATION, rule_one, rule_two
from rules left join applications
on rules.run_id = applications.run_id
where rule_id in ('rule_one', 'rule_two' );
Однако в итоге получаю что то вроде этого:
| RUN_ID | APPLICATION | rule_one | rule_two |
|---|---|---|---|
| 1234 | app_one | 635 | 1234 |
| 1234 | app_one | 65 | 0 |
| 4567 | app_two | 635 | 1234 |
| 4567 | app_two | 0 | 1234 |