簡體   English   中英

將列分組為行SQL

[英]Grouping columns into rows SQL

我試圖在一行上對功能和值進行分組。 有人推薦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特定的聚合函數 ,它與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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM