繁体   English   中英

来自两个表的GROUP_CONCAT

[英]GROUP_CONCAT from two tables

我有这么大的选择,问题是来自不同表的2 GROUP_CONCAT。 如果我从选择的颜色中删除描述,则显示正常,如果保持这种颜色,则显示x3次。

SELECT
DISTINCT m.model as model
        ,m.price as price
        ,m.size as size
        ,m.colorsetIDMainBag as mainColor
    ,GROUP_CONCAT(colorset.name) AS color
    ,leather.name AS leather
        ,leather.nameUA AS leatherUA
        ,leather.nameRU AS leatherRU
    ,GROUP_CONCAT(description.descriptionUA) AS descriptionUA
    ,GROUP_CONCAT(description.descriptionRU) AS descriptionRU
    ,GROUP_CONCAT(description.descriptionEN) AS descriptionEN
FROM
        bags as m
        LEFT OUTER JOIN colorpack
        on m.bagsID=colorpack.colorpack
        LEFT OUTER JOIN color
        on colorpack.colorID=color.colorID
        LEFT OUTER JOIN colorset
        on color.colorsetID=colorset.colorsetID
        LEFT OUTER JOIN leather
        on color.leatherID=leather.leatherID

        LEFT OUTER JOIN descriptionpack
        on m.bagsID=descriptionpack.descriptionpack
        LEFT OUTER JOIN description
        on descriptionpack.descriptionID=description.descriptionID

WHERE
        colorpack.colorpack='62'
GROUP BY model

尝试

GROUP_CONCAT(DISTINCT colorset.name) AS color

我想您知道您正在对GROUP BY使用非标准的MySQL扩展,这通常会产生不可预测的奇怪结果。 如果您不知道,请阅读此内容。

http://dev.mysql.com/doc/refman/5.1/en/group-by-extensions.html

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM