Oracle
 sql >> база данни >  >> RDS >> Oracle

Извършване на вътрешно свързване за множество колони в една и съща таблица

Изглежда това е правилният начин:

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

Вместо „глупаво“, бих се осмелил да кажа, че това е доста стандартна заявка. Това също така предполага, че всички колони ще имат валидна стойност. В противен случай заменете всички INNER JOIN с LEFT JOIN




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. ResultSet getString кодиране на знаци за уникод знаци

  2. Как да използвате Explain Plan за оптимизиране на заявки?

  3. Как да разберете, че името на града не започва и не завършва с гласна

  4. Групиране на редове Запазване на реда на стойностите

  5. Използвайки sql/plsql, как да разберете кой набор от знаци използва даден текст?