【发布时间】:2017-07-03 10:13:49
【问题描述】:
我有以下 SQL 选择:
SELECT s.*,
GROUP_CONCAT(CONCAT_WS(':', m.type, m.id, m.filename) SEPARATOR ',') AS multimedia,
GROUP_CONCAT(CONCAT_WS(':', c.id) SEPARATOR ',') AS categories
FROM sections s
LEFT JOIN sections_multimedia sm
ON s.id = sm.section_id
LEFT JOIN multimedia m
ON sm.multimedia_id = m.id
LEFT JOIN sections_categories sc
ON s.id = sc.section_id
LEFT JOIN categories c
ON sc.category_id = c.id
WHERE s.id = s.id
GROUP BY s.id
ORDER BY s.position, s.id ASC;
因此,“类别”字段具有正确的值,即 (2,3),但不幸的是重复了很多次! (结果为:2,2,2,2,2,2,3,3,3,3,3,3)
我的选择有什么问题?
感谢您的回复!
【问题讨论】:
-
您的标题说的是内连接,但您的查询使用的是左连接?
-
我的错!我编辑了标题!谢谢!
-
你如何处理这个结果?
-
我把它们放到了一个 php 数组中!