在 Access 上构建交叉表重新查询的问题

Issue building a crosstab requery on Access

我在处理 Access 应用程序时遇到问题,我想使用 Xtab 重新查询来填充 Listview。如果该字段有 Y 个不同的值,则重新查询将采用其中一个列字段值并创建 Y 列。

标签看起来像这样:

Assoc_tasks_cat(ID (主键), fk_taskID, fk_category, nbHours )

我希望重新查询对具有相同 fk_taskID 值的所有行进行分组,并使用关联的 nbHours 值填充类别列.

我认为用一个小的模式会更好:

-The initial tab

-The wanted view

此外,我向您说明 fk_category 的一个值没有重复值 fk_taskID.例如:

(1 (主键), 1, "Cat1", 5); (2 (主键), 1, "Cat1", 7);行 不可能

有人知道 SQL 重新查询应该是什么样子吗?

谢谢

好的,我自己找到了解决方案

我只需要将 GROUP BY 关键字与 PIVOT 关键字结合使用

因此最终请求如下所示:

TRANSFORM sum(nbHours) AS SumNbHours
SELECT fk_taskID
FROM TabName
GROUP BY fk_taskID
PIVOT fk_category

比我想象的要容易:)