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

Cách ghép nhiều giá trị nối từ nhiều bảng quan hệ trong một truy vấn mysql duy nhất

Bạn cần sử dụng một liên kết khác với rel_destinations để nhận được các ưu đãi với Prague như một điểm đến. Kết hợp điều này với truy vấn ban đầu của bạn.

SELECT offers.*, 
  GROUP_CONCAT(DISTINCT DEPC.name SEPARATOR ', ') AS depCities,
  GROUP_CONCAT(DISTINCT DESTC.name SEPARATOR ', ') AS destCities
FROM offers
INNER JOIN `rel_departments` ON (`rel_departments`.`offer_id` = `offers`.`id`)
INNER JOIN `departments` as DEPC ON (DEPC.`id` = `rel_departments`.`rel_id`)
INNER JOIN `rel_destinations` ON (`rel_destinations`.`offer_id` = `offers`.`id`)
INNER JOIN `destinations` as DESTC ON (DESTC.`id` = `rel_destinations`.`rel_id`)
INNER JOIN rel_destinations AS d1 ON d1.offer_id = offers.id
WHERE d1.rel_id = 1
GROUP BY offers.id

DEMO




  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ách tạo đầu ra hai cột từ một cột duy nhất

  2. Rất dai dẳng /opt/lampp/bin/mysql.server:264:kill:Không có quá trình này. Xampp / ubuntu 16.04

  3. Chọn tất cả các ngày giữa hai ngày không sử dụng bảng (tạo danh sách ngày)

  4. Loại MySQL ENUM so với các bảng tham gia

  5. Lỗi MySql 150 - Khóa ngoại