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

MySQL едно към много присъединяване с Group By връща само едно наблюдение

Можете да използвате GROUP_CONCAT за да превърнете данните в няколко реда в един разделен низ:

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

В този случай, ако коментарът няма съответен маркер, полето просто ще бъде NULL.

SQLPiddle Демо



  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 MAX_JOIN_SIZE грешки

  2. Как да получите записи от последните 24 часа в MySQL

  3. MySQL - Редове към колони

  4. Как мога да напиша SQL за таблица, която споделя същото име като защитена ключова дума в MySql?

  5. Typo3 V6:Как да създадете контейнер за елемент на съдържание? (без телевизор)