Nếu bạn không muốn tạo bảng "người trung gian" để liên kết hai bảng, bạn có thể có giá trị được phân tách bằng dấu phẩy trong trường, bạn chỉ cần sử dụng find_in_set
hàm mysql khi thực hiện truy vấn
SỬ DỤNG find_in_set
SELECT
log.user_id, log.activity_id, log.tags,
GROUP_CONCAT(tags.name) as taggedNames //This assumes there is a field called `name` in tags table
FROM
log
LEFT JOIN tags
ON
FIND_IN_SET(tags.tag_id,log.tags)
GROUP BY
log.activity_id
GROUP_CONCAT sẽ nhóm một trường lại với nhau và phân tách chúng bằng dấu phân cách, mặc định là ,