在 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 值填充类别列.
我认为用一个小的模式会更好:
此外,我向您说明 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
比我想象的要容易:)
我在处理 Access 应用程序时遇到问题,我想使用 Xtab 重新查询来填充 Listview。如果该字段有 Y 个不同的值,则重新查询将采用其中一个列字段值并创建 Y 列。
标签看起来像这样:
Assoc_tasks_cat(ID (主键), fk_taskID, fk_category, nbHours )
我希望重新查询对具有相同 fk_taskID 值的所有行进行分组,并使用关联的 nbHours 值填充类别列.
我认为用一个小的模式会更好:
此外,我向您说明 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
比我想象的要容易:)