поиск значения из той же таблицы (Oracle) - PullRequest
0 голосов
/ 28 сентября 2018

У меня есть следующая таблица с именем 'Branch'.Тип B = Ветвь и Тип U = Единица

BRANCH_UNIT_ID | BRANCH_UNIT_CD | TYPE | PARENT | DESC
1                ABC              B      null     ABC_Branch
2                EEE              U      3        EEE_UNIT
3                FFF              B      null     FFF Branch

У меня есть еще одна таблица с именем 'Line', в которой есть столбец UNIT.

LINE_ID | LINE_VALUE | UNIT
1         123456       EEE

Мне нужно объединить эти 2 таблицы Line и Branch, чтобы получить BRANCH_UNIT_CD, если это Единица, и найти соответствующее значение PARENT.

Так что дляВ этом примере мой ожидаемый результат должен быть

LINE_ID | LINE_VALUE | BRANCH_UNIT_CD | UNIT
1         123456       FFF              EEE

Как я могу это сделать?

1 Ответ

0 голосов
/ 28 сентября 2018

Вы можете использовать это:

select ll.line_id, ll.line_value, bb.branch_unit_cd,ll.unit
  from 
(
select l.*, b.parent
  from line l
  left outer join Branch b
    on ( l.unit = b.branch_unit_cd )
) ll inner join
   Branch bb
 on ( ll.parent = bb.branch_unit_id );

LINE_ID LINE_VALUE  BRANCH_UNIT_CD  UNIT
------- ----------  --------------  ----
1       123456      FFF             EEE

Rextester Demo

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...