Mysql
 sql >> Base de données >  >> RDS >> Mysql

sélectionner plusieurs lignes dans une ligne de résultat

Vous pouvez utiliser GROUP_CONCAT() et GROUP BY pour obtenir les résultats souhaités :

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

Cela renvoie toutes les dates de chaque annonce, concaténées par des virgules. Lorsqu'il n'y a pas de dates dans le tableau 2 pour une publicité particulière, vous obtiendrez NULL pour la colonne des dates.

Pour cibler une publicité particulière, ajoutez simplement le WHERE clause :

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