Giải pháp thứ hai của tôi sử dụng một hàm MySQL GROUP_CONCAT () để kết hợp tất cả các thẻ khớp với mục thành một chuỗi được phân tách bằng dấu phẩy trong tập kết quả.
SELECT i.ItemContent, GROUP_CONCAT(t.TagName ORDER BY t.TagName) AS TagList
FROM item AS i
INNER JOIN ItemTag AS it ON i.id = it.ItemId
INNER JOIN tag AS t ON t.id = it.TagId
GROUP BY i.ItemId;
Hàm GROUP_CONCAT () là một tính năng của MySQL, nó không phải là một phần của SQL chuẩn.