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

Odpowiedz Nowy wątek
2019-08-22 20:47

Rejestracja: 1 rok temu

Ostatnio: 1 rok temu

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

Rejestracja: 12 lat temu

Ostatnio: 32 minuty temu

1

Użyj aliasów.

Pozostało 580 znaków

2019-08-23 09:53

Rejestracja: 12 lat temu

Ostatnio: 32 minuty temu

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

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