0

我在 Access 表中有以下数据:

ID    Name      CAT
1     Bill      Red
1     Bill      Yellow
1     Bill      Green
1     Bill      Orange
2     Ted       Purple
2     Ted       White
3     Alice     Indigo
3     Alice     Violet
3     Alice     Red

我想输出如下:

ID    Cat1    Cat2    Cat3    Cat4
1     Red     Yellow  Green   Orange
2     Purple  White        
3     Indigo  Violet  Red    

我可以为此使用枢轴吗?如果是这样,有人可以建议一个合适的查询吗?非常感谢。

4

1 回答 1

0

考虑:

TRANSFORM First(Data.Cat) AS FirstOfCat
SELECT Data.ID, Data.Name
FROM Data
GROUP BY Data.ID, Data.Name
PIVOT "Cat" & DCount("*","Data","ID=" & [ID] & " AND Cat<'" & [Cat] & "'")+1;

或者,如果有一个唯一的记录标识符字段 - 自动编号应该服务:

TRANSFORM First(Data.Cat) AS FirstOfCat
SELECT Data.ID, Data.Name
FROM Data
GROUP BY Data.ID, Data.Name
PIVOT "Cat" & DCount("*","Data","ID=" & [ID] & " AND ID_PK<" & [ID_PK])+1;
于 2020-10-17T17:31:21.777 回答