Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Wie verkette ich Zeichenfolgen aus einer Unterabfrage in eine einzelne Zeile in MySQL?

durch Verwendung von GROUP_CONCAT() Funktion und einen GROUP BY-Aufruf. Hier ist eine Beispielabfrage

SELECT 
   p.package_id,
   p.package_name,
   p.price,
   GROUP_CONCAT(pz.zone_id SEPARATOR ',') as zone_list 
FROM 
   package p 
LEFT JOIN package_zone pz ON p.package_id = pz.package_id 
GROUP BY 
   p.package_id

Sie sollten immer noch in der Lage sein, nach zone_id s (oder zone_list) zu bestellen und statt LIKE zu verwenden , können Sie WHERE zp.zone_id = 'Z1' verwenden oder ähnliches.