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

Các giá trị trùng lặp của MySql trong một liên kết sử dụng GROUP_CONCAT

Vì vậy, tôi tự trả lời. Những gì tôi đang tìm kiếm là CONCAT_WS . Yêu cầu của tôi trở thành sau đó

SELECT t1.*,
       GROUP_CONCAT(DISTINCT CONCAT_WS(
            ' ', t2.info, t2.data
       ) SEPARATOR  ', ') AS info,
       GROUP_CONCAT(DISTINCT t3.email SEPARATOR '|') AS email
FROM table1 AS t1
LEFT JOIN link1 AS l1
ON l1.id_a = t1.id_a
LEFT JOIN table2 AS t2
ON t2.id_b = l1.id_b
LEFT JOIN link2 AS l2
ON l2.id_a = t1.id_a
LEFT JOIN table3 AS t3
ON t3.id_c = l2.id_c
WHERE t1.id_a = ?
GROUP BY t1.id_a



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Định nghĩa của cardinality trong SQL là gì

  2. Thứ tự các mục trong MySQL theo một danh sách cố định?

  3. MySQL:Bỏ qua một cột đã chọn khi sử dụng DISTINCT

  4. Làm thế nào để thay đổi tên bảng MySQL trong máy chủ Linux để không phân biệt chữ hoa chữ thường?

  5. Truy vấn cho N đầu mỗi mã nhóm hoạt động cho MySQL nhưng kết quả khác với MariaDB