0

我有一个包含 sku 编号、attribute_name 和属性值的表。每个 sku 都可以有许多属性。

现在桌子看起来像这样。

SKU、ATT_NM、ATT_VAL
TOST3580,供应型,碳粉
TOST3580,消费前回收含量百分比 [标称],0 %
TOST3580,消费后回收含量百分比 [标称],0 %
TOST3580,总回收含量百分比 [标称],0 %
TOST3580, OEM/兼容, 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 中完成

4

1 回答 1

0

您可以尝试这样的事情(使用 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

然后使用返回的值来构建上一个查询。

于 2012-04-08T22:58:42.163 回答