[英]Need to combine multiple rows in MySql or Access with one row
我有一个包含 sku 编号、attribute_name 和属性值的表。 每个 sku 都可以有很多属性。
现在桌子看起来像这样。
SKU, ATT_NM, ATT_VAL TOST3580, Supply Type, Toner TOST3580, Pre-Consumer Recycled Content Percent [Nom], 0 % TOST3580, Post-Consumer Recycled Content Percent [Nom], 0 % TOST3580, Total Recycled Content Percent [Nom], 0 % TOST3580, OEM/Compatible, OEM
我需要他们更像这样。
SKU,ATT_NM,ATT_VAL,ATT_NM1,ATT_VAL1 TOST3580,Supply,Type,Toner,Pre-Consumer Recycled Content Percent,0 %
添加每个属性值。 因此,例如上面的示例将具有 5 个不同的属性。 每个 SKU 具有 2-20 个属性。 任何帮助都是极好的。 抱歉格式错误。
这可以在 Access 或 MySQL 中完成
你可以尝试这样的事情(使用 MySQL)-
SELECT
SKU,
GROUP_CONCAT(IF(ATT_NM = 'Supply Type', ATT_VAL, NULL)) AS `Supply Type`,
GROUP_CONCAT(IF(ATT_NM = 'Pre-Consumer Recycled Content Percent [Nom]', ATT_VAL, NULL)) AS `Pre-Consumer Recycled Content Percent [Nom]`,
...
FROM table
GROUP BY SKU
您可以使用 - 检索属性列表
SELECT DISTINCT ATT_NM
FROM table
然后使用返回的值构建上一个查询。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.