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

MySQL Joins:chọn bảng để tham gia dựa trên dữ liệu bảng nguồn

Bạn muốn nhiều left join s, điều kiện về loại. Tôi nghĩ một cái gì đó như thế này:

SELECT e.*,
       COALESCE(h.name, f.name, c.name, r.name) as name
FROM events e LEFT JOIN
     holidays h
     on h.id = e.reference_id AND
        e.topic_type = 'holiday' LEFT JOIN
     fundays f
     on f.id = e.reference_id AND
        e.topic_type = 'funday' LEFT JOIN
     cruises c
     on c.id = e.reference_id AND
        e.topic_type = 'cruise' LEFT JOIN
     recruitment r
     on f.id = e.reference_id AND
        e.topic_type = 'recruitment'    
WHERE e.event_id = 1 


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Câu lệnh SHOW TABLES với nhiều giá trị LIKE

  2. Tìm các hàng có giá trị cột trùng lặp / tương tự MySQL

  3. Truy vấn tổng hợp MongoDB so với MySQL SELECT field1 FROM bảng

  4. MySQL Chỉ chọn một hàng từ mỗi bệnh nhân được chẩn đoán theo ngày đầu tiên

  5. Cách tạo trình kích hoạt trong thư viện di chuyển của Codeigniter