Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Các hàng có giá trị null cho group_concat không được trả về

Câu trả lời được đánh dấu trước đây là đúng rất tiếc là sai (như người dùng desaivv đã lưu ý trong nhận xét).

Nó phải đọc IFNULL , [không phải ISNULL, isnull chỉ nhận một tham số và trả về một boolean]!

IFNULL trả về tham số thứ hai nếu 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

Nhưng đây hoàn toàn không phải là giải pháp! Những gì chúng tôi cần là một liên kết "phức tạp" -

Vì vậy, vui lòng kiểm tra SQL Fiddle này: 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. Không thể kết nối với bất kỳ máy chủ MySQL nào được chỉ định

  2. Phân biệt giữa 'không có hàng nào bị ảnh hưởng' và các hàng CẬP NHẬT thành công - đến cùng một giá trị (MySQL và PHP)

  3. Lỗi khi cài đặt gem mysql2 (windows 8)

  4. Dấu gạch chéo ngược trong tệp csv

  5. Cách hạn chế quyền truy cập cổng MySQL