Oracle
 sql >> Base de données >  >> RDS >> Oracle

Exécution d'une jointure interne pour plusieurs colonnes dans la même table

Cela semble être la voie à suivre :

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

Plutôt que "stupide", je dirais qu'il s'agit d'une requête assez standard. Cela suppose également que toutes les colonnes auront une valeur valide. Sinon, remplacez tous les INNER JOIN par des LEFT JOIN