在Access中的行到动态列

时间:2011-12-15 16:40:41

标签: sql ms-access

我需要Access中的一个设置,其中表中的某些行转换为列...例如,假设我有这个表:

Team    Employee    DaysWorked
Sales    John         23
Sales    Mark         3
Sales    James        5

然后通过使用查询/表单/其他内容,我想要以下显示:

Team   John   Mark   James
Sales   23     3       5

这种行到列的转换必须是动态的,因为团队可以拥有任意数量的员工,员工可以更改等。有人可以指导我实现这一目标的最佳途径吗?

1 个答案:

答案 0 :(得分:2)

您想要创建CrossTab查询。这是您可以使用的SQL。

TRANSFORM SUM(YourTable.DaysWorked) AS DaysWorked
SELECT YourTable.Team
FROM YourTable
GROUP BY YourTable.Team
PIVOT YourTable.Employee

当然输出略有不同,因为列按字母顺序排列。

Team   James  John  Mark
Sales  5      23    3

有关详细信息,请参阅office.microsoft.com上的Make summary data easier to read by using a crosstab query