Родительско-дочерние отношения. Присоединяйтесь к таблицам в Oracle. - PullRequest
0 голосов
/ 26 ноября 2018

У меня есть требование ниже.

Table Structure containing Position details

Теперь я должен получить вывод, как показано ниже

enter image description here

Как этого достичь?Я написал ниже SQL, но идет parent_position_id, а не parent_position_code

select
hapf.position_code,
pphf.parent_position_id
from
hr_all_positions_f hapf, PER_POSITION_HIERARCHY_F pphf
where
hapf.position_id = pphf.position_id

Должен ли я написать подзапрос?Как мне поступить?Это Oracle SQL

Спасибо, Шивам

1 Ответ

0 голосов
/ 26 ноября 2018

Никто никогда не говорил, что вы можете присоединиться к столу только один раз:

select
  chi.position_code,
  par.position_code as parent_position_code
from
  hr_all_positions_f hapf
  INNER JOIN PER_POSITION_HIERARCHY_F chi on hapf.position_id = chi.position_id
  INNER JOIN PER_POSITION_HIERARCHY_F par on hapf.parent_position_id = par.position_id

Имейте это в виду;Я вижу людей, которые все время думают, что они могут присоединиться к столу только один раз.Если одна таблица декодирует значение в 3 разных столбцах, то вы наверняка можете присоединиться к этой же таблице в 3 раза ... Представьте, что это таблица адресов, и у Student есть HomeAddressId, WorkAddressId и StudyAddressId, а таблица Address содержит всеэти адреса - вы должны присоединить таблицу адресов к таблице Student 3 раза, чтобы получить все данные.

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