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

Odpowiedz Nowy wątek
2019-08-22 20:47
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;

Pozostało 580 znaków

2019-08-22 22:37
1

Użyj aliasów.

Pozostało 580 znaków

2019-08-23 09:53
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...

edytowany 1x, ostatnio: Marcin.Miga, 2019-08-23 09:53

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

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