Làm cách nào để tìm tất cả các thẻ của mỗi trang và sau đó ghép các thẻ vào một cột?Làm thế nào để tìm tất cả các thẻ của mỗi trang và sau đó concat các thẻ vào một cột?
Đối với một ví dụ,
trang bảng, bảng
page_id
1
2
3
4
thẻ, bảng
tag_id tag_name
1 A
2 B
3 C
4 D
gắn thẻ,
page_id tag_id
1 1
1 2
1 3
3 2
3 3
truy vấn làm việc của tôi,
SELECT
p.page_id,
GROUP_CONCAT(t.tag_name ORDER BY t.tag_name ASC SEPARATOR ",") AS tags
FROM root_pages AS p
LEFT JOIN root_mm_pages_tags AS m
ON p.page_id = m.page_id
LEFT JOIN root_tags AS t
ON t.tag_id = m.tag_id
WHERE p.page_id = t.page_id
Đây là kết quả tôi sau đó,
page_id tags
1 A, B, C
2 NULL
3 B, C
4 NULL
+1 Vì đã thực hiện nhiều cách đúng đắn. – NullUserException
cảm ơn NullUserException! :-) – laukok
+1 cho cùng một lý do. – toon81