gpt4 book ai didi

mysql - 将列分组为行 SQL

转载 作者:行者123 更新时间:2023-11-29 08:28:19 25 4
gpt4 key购买 nike

我正在尝试将功能和值全部分组在一行上。有人推荐了 GROUP_CONCAT,但当我这样做时,我失去了所有其他产品。这是我当前的 SQL 调用

SELECT ps_product_lang.name, CONCAT(ps_feature_lang.name) AS feature, ps_feature_value_lang.value  FROM ps_product LEFT JOIN ps_product_lang ON ps_product_lang.id_product = ps_product.id_product LEFT JOIN ps_feature_product ON ps_feature_product.id_product = ps_product.id_product LEFT JOIN ps_feature_lang ON ps_feature_lang.id_feature = ps_feature_product.id_feature LEFT JOIN ps_feature_value_lang ON ps_feature_value_lang.id_feature_value = ps_feature_product.id_feature_value

这给了我这样的返回

name                 feature    value
MRO Plus Heavy Pad Height 5
MRO Plus Heavy Pad Width 12
MRO Plus Heavy Pad Depth 13
MRO Plus Heavy Pad Weight 15
ENV810™ Sorbent Boom Height 88
ENV810™ Sorbent Booms Width 50
ENV810™ Sorbent Booms Depth 23
ENV810™ Sorbent Booms Weight 45
ENV510™ Sorbent Booms NULL NULL
MRO Plus Medium Pad NULL NULL

当我尝试 GROUP_CONCAT 时,我的结果如下所示。

Name                Feature                                                 Value
MRO Plus Heavy Pad Height,Width,Depth,Weight,Height,Width,Depth,Weigh... 5,12,13,15,88,50,23,45

MySQL 有没有办法让它看起来像这样

Name                    Feature                           Value
MRO Plus Heavy Pad Height, Width, Depth, Weight 5, 12, 13, 15
ENV810 Sorbent Boom Height, Width, Depth, Weight 88, 50, 23, 45
ENV510 Sorbent Boom Null Null
MRO Plus Medium pad Null Null

任何帮助将不胜感激!

最佳答案

GROUP_CONCAT 是 MySQL specific aggregate function ,它与 GROUP BY 子句一起使用。您必须在查询末尾使用 GROUP_BY 子句指定列才能使其正常工作。

示例:

SELECT ps_product_lang.name, GROUP_CONCAT(ps_feature_lang.name) AS feature, ps_feature_value_lang.value FROM ps_product LEFT JOIN ps_product_lang ON ps_product_lang.id_product = ps_product.id_product LEFT JOIN ps_feature_product ON ps_feature_product.id_product = ps_product.id_product LEFT JOIN ps_feature_lang ON ps_feature_lang.id_feature = ps_feature_product.id_feature LEFT JOIN ps_feature_value_lang ON ps_feature_value_lang.id_feature_value = ps_feature_product.id_feature_value GROUP BY ps_product_lang.name

关于mysql - 将列分组为行 SQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17352133/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com