je tableaux suivants:ordre concaténé joindre à gauche des résultats
Table: person
id | name
1 | John
2 | Ana
3 | Thomas
Table: fruit
id | name
1 | orange
2 | banana
3 | grapefruit
4 | lemon
5 | apricot
Table: person_fruit
person_id | fruit_id
1 | 1
1 | 3
2 | 1
2 | 2
1 | 5
Comme vous l'aurez deviné, la table de person_fruit sert de plusieurs à plusieurs.
Je fais une requête pour répertorier toutes les personnes et leurs fruits préférés concaténés dans une chaîne. Mon problème est que je ne peux pas afficher leurs fruits préférés classés par ordre alphabétique de fruits comme:
John | apricot, grapefruit, orange
Ana | banana, orange
Thomas | NULL
Mon actuelle requête MySQL ressemble:
SELECT
p.name,
GROUP_CONCAT(f.name SEPARATOR ', ') fruit
FROM
person p
LEFT JOIN person_fruit pf
ON p.id = pf.person_id
LEFT JOIN `fruit` `f`
ON f.id = pf.fruit_id
GROUP BY
p.id
comment pouvez-vous trier la gauche concaténés rejoindre les résultats?