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

mehrere Zeilen in einer Ergebniszeile auswählen

Sie können GROUP_CONCAT() verwenden und GROUP BY So erhalten Sie die gewünschten Ergebnisse:

SELECT t1.*, GROUP_CONCAT(t2.date) AS dates
FROM Table1 t1
LEFT JOIN Table2 t2
  ON t2.ID_adv = t1.ID_adv
GROUP BY t1.ID_adv

Dies gibt alle Daten für jede Anzeige zurück, verkettet durch Kommas. Wenn für eine bestimmte Anzeige keine Daten in Tabelle2 vorhanden sind, erhalten Sie NULL für die Datumsspalte.

Um auf eine bestimmte Werbung abzuzielen, fügen Sie einfach den WHERE hinzu Klausel:

SELECT t1.*, GROUP_CONCAT(t2.date) AS dates
FROM Table1 t1
LEFT JOIN Table2 t2
  ON t2.ID_adv = t1.ID_adv
WHERE t1.ID_adv = 3
GROUP BY t1.ID_adv