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

Les lignes avec une valeur nulle pour group_concat ne sont pas renvoyées

La réponse précédemment marquée comme juste est malheureusement fausse (comme l'a noté l'utilisateur desaivv dans le commentaire).

Il doit lire IFNULL , [not ISNULL, isnull prend juste un paramètre et renvoie un booléen] !

IFNULL renvoie le deuxième paramètre si nul :

SELECT  `a`.`id` , `a`.`name` , `b`.`id` AS  `b_id` , `b`.`name` AS  `b_name` ,   
IFNULL(GROUP_CONCAT(  `c`.`l_id` ), '') AS  `c_ls`
FROM  `a`
INNER JOIN  `b` ON  `a`.`b_id` =  `b`.`id`
LEFT OUTER JOIN  `c` ON  `a`.`id` = `c`.`a_id`
GROUP BY `a`.`id`
ORDER BY  `a`.`created` DESC

Mais ce n'est pas du tout la solution ! Ce dont nous avons besoin est une jointure "alambiquée" -

Alors, veuillez vérifier ce SQL Fiddle : http://www.sqlfiddle.com/#!2/54c6f/3 /0