Oracle
 sql >> Database >  >> RDS >> Oracle

Esecuzione dell'unione interna per più colonne nella stessa tabella

Questa sembra la strada da percorrere:

SELECT
  A.answer_id
  ,C1.color_name AS favorite_color_name
  ,C2.color_name AS least_favorite_color_name
  ,C3.color_name AS color_im_allergic_to_name
FROM tbAnswers AS A
INNER JOIN tbColors AS C1
  ON A.favorite_color = C1.color_code
INNER JOIN tbColors AS C2
  ON A.least_favorite_color = C2.color_code
INNER JOIN tbColors AS C3
  ON A.color_im_allergic_to = C3.color_code

Piuttosto che "stupido", oserei che questa sia una query piuttosto standard. Ciò presuppone anche che tutte le colonne abbiano un valore valido. Altrimenti, sostituisci tutte le INNER JOIN con LEFT JOIN