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

MySQL tham gia một-nhiều với Group By chỉ trả về một quan sát

Bạn có thể sử dụng GROUP_CONCAT để biến dữ liệu trong nhiều hàng thành một chuỗi được phân tách duy nhất:

SELECT    a.CommentID, 
          a.Title,
          GROUP_CONCAT(b.TagID ORDER BY b.TagID) AS tags
FROM      CommentTable a
LEFT JOIN TagTable b ON a.CommentID = b.CommentID
GROUP BY  a.CommentID,
          a.Title

Trong trường hợp này, nếu một nhận xét không có thẻ tương ứng, trường sẽ chỉ là NULL.

SQLFiddle Demo



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Làm cách nào để ánh xạ một ngày Java thành DATETIME trong mysql (theo mặc định là TIMESTAMP của nó) với các chú thích Hibernate

  2. Cách dừng truy vấn mysql đang chạy

  3. pip3 cài đặt mysql-python không thành công với mã lỗi 1 trong / tmp / pip-install-4nev4id4 / mysql-python /

  4. MySql và vấn đề chèn ID cuối cùng vẫn còn

  5. Việc có hàng triệu bảng và hàng triệu hàng trong đó có phải là một thực tế phổ biến trong thiết kế cơ sở dữ liệu MySQL không?