Mysql
 sql >> база данни >  >> RDS >> Mysql

Редове с нулева стойност за group_concat не са върнати

Отговорът, маркиран преди като правилен, за съжаление е грешен (както потребителят desaivv отбеляза в коментара).

Трябва да се чете IFNULL , [не ISNULL, isnull просто взема един параметър и връща булево] !

IFNULL връща втория параметър, ако е нула:

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

Но това изобщо не е решението! Това, от което се нуждаем, е "заплетено" съединение -

Моля, проверете този SQL Fiddle: http://www.sqlfiddle.com/#!2/54c6f/3 /0



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MYSQL Sum Query с условие IF

  2. Как да актуализирате множество дубликати с различни стойности в една и съща таблица?

  3. Референтна грешка на node.js при включване на файл

  4. Как мога да получа списък с потребителски акаунти с помощта на командния ред в MySQL?

  5. mysql не може да предостави привилегия на потребител, получава грешка:ERROR 1819 (HY000):Вашата парола не отговаря на текущите изисквания на политиката