sql >> Database teknologi >  >> RDS >> Mysql

Sådan sammenkædes flere værdier fra flere relationstabeller i en enkelt mysql-forespørgsel

Du skal bruge en anden joinforbindelse med rel_destinations at få tilbuddene med Prag som destination. Slut dig til dette med din oprindelige forespørgsel.

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. Brug af Guid som Id-kolonne i NHibernate forårsager formatundtagelse ved brug af MySQL

  2. Udfyldning af en datatabel i C# ved hjælp af MySQL

  3. Hjælp os med at få IDE moderniseret i MS Access – din stemme tæller!

  4. Dvale JPA, MySQL og TinyInt(1) for Boolean i stedet for bit eller char