sql >> Databáze >  >> RDS >> Mysql

Řádky s hodnotou null pro group_concat nebyly vráceny

Odpověď dříve označená jako správná je bohužel špatná (jak uživatel desaivv poznamenal v komentáři).

Musí znít IFNULL , [ne ISNULL, isnull pouze vezme jeden parametr a vrátí boolean] !

IFNULL vrátí druhý parametr, pokud je null:

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

To ale vůbec není řešení! Potřebujeme "spletité" spojení -

Zkontrolujte prosím tento SQL Fiddle: http://www.sqlfiddle.com/#!2/54c6f/3 /0



  1. Počet atributů hledání tváří

  2. Jak odstraním všechny mezery z pole v databázi Postgres v aktualizačním dotazu?

  3. vytvoření tabulky mysql z vnitřního spojení

  4. Připojte se k databázi přes unixový soket pomocí SQLAlchemy