SQL (ORACLE) - join dwukrotne odwołanie do tej samej tabeli

0

Cześć

Mam dwie tabele (detail i detail_dictionary) - w jednej z nich są przechowywane kody słownikowe (np. ID8, ID9) w różnych kolumnach a w drugiej wartości słownikowe - opisy (ID8, closed; ID9, open) jakie kryją się za tymi słownikami. Problem ten, że tabela do której chciałbym się odwołać przechowuje wartości słowników w tych samych kolumnach - dwie kolumny w których są słowniki do wszystkich wartości w bazie nie tylko tych dwóch.

Nie wiem jak zakodować to aby zamienić wartości słownikowe ich opisami.

Poniższe nie działa bo zwraca opisy dwa razy do tej samej tabeli. wstawienie drugiego wiersza left join nic nie daje.

Z góry dziękuje.

select
  DETAIL.APPL_ID, 
  DETAIL.STATUS, 
  detail_dictionary.dict_name, 
  DETAIL.DETECTION_METHOD, 
  detail_dictionary.dict_name
  from P.DETAIL
  left outer join P.detail_dictionary on DETAIL.STATUS=detail_dictionary.dict_id
  left outer join P.detail_dictionary on DETAIL.DETECTION_METHOD=detail_dictionary.dict_id;
1

Użyj aliasów.

1
select
  d.APPL_ID, 
  d.STATUS, 
  dic1.dict_name, 
  d.DETECTION_METHOD, 
  dic2..dict_name
  from P.DETAIL d
  left outer join P.detail_dictionary dic1 on d.STATUS=dic1.dict_id
  left outer join P.detail_dictionary dic2 on d.DETECTION_METHOD=dic2.dict_id;

czy jakoś tak...

1 użytkowników online, w tym zalogowanych: 0, gości: 1