Oracle
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Oracle

Thực hiện nối bên trong cho nhiều cột trong cùng một bảng

Đây có vẻ là cách để thực hiện:

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

Thay vì "ngu ngốc", tôi muốn mạo hiểm rằng đây là một truy vấn khá chuẩn. Điều này cũng giả định rằng tất cả các cột sẽ có giá trị hợp lệ. Nếu không, hãy thay thế tất cả các THAM GIA BÊN TRONG bằng các THAM GIA TRÁI




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Sự cố với các biến liên kết của Oracle không sử dụng chỉ mục đúng cách

  2. DB ORACLE QUERY

  3. Chọn chuỗi làm số trên Oracle

  4. Làm thế nào để phân tích cú pháp varchar2 và biến nó thành nhiều hàng?

  5. Nhận giá trị dựa trên giá trị tối đa của một cột khác được nhóm bởi một cột khác