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

INNER ou LEFT Joindre plusieurs enregistrements de table en une seule ligne

Bien que vous puissiez joindre plusieurs numéros (n'importe lesquels) dans un seul champ :

SELECT
  CONCAT(f_first_name, ' ', f_last_name) as Client_Name,
  GROUP_CONCAT(IF(phone_type='work',f_phone_number, NULL)) as Work_Numbers,
  GROUP_CONCAT(IF(phone_type='home',f_phone_number, NULL)) as Home_Numbers
FROM clients
JOIN phone
  USING (f_id)
WHERE phone_type IN ('home', 'work')
GROUP BY f_id;