具有条件的多个表中的字段求和
Sum fields from mutiple tables with conditions
我正在做一个很大的项目,我需要通过 SQL 计算一些值。我有 3 个字段完全相同的数据集:
Query1 : txt groupName, int cat, long hoursSubTot1
Query2 : txt groupName, int cat, long hoursSubTot2
Query3 : txt groupName, int cat, long hoursSubTot3
我需要像这样添加 hoursSubTot1、hoursSubTot2 和 hoursSubTot3:
我希望数据聚合如结果 table 所示。但是我没有设法在 Access 中聚合正确的值,我没有想法,所以欢迎任何帮助或建议...
谢谢!
如果您不反对使用多个查询,这是我的想法。首先使用 UNION ALL
创建一个查询以组合三个查询。然后您可以创建一个新查询来计算总和。
SELECT Group, Category, Hours FROM Table1
UNION ALL
SELECT Group, Category, Hours FROM Table2
UNION ALL
SELECT Group, Category, Hours FROM Table3
ANSI SQL 答案,可能适用于 Access,也可能不适用于:
select group, category, sum(hours)
from
(
select group, category, hours from table1
union all
select group, category, hours from table2
union all
select group, category, hours from table3
)
group by group, category
我正在做一个很大的项目,我需要通过 SQL 计算一些值。我有 3 个字段完全相同的数据集:
Query1 : txt groupName, int cat, long hoursSubTot1
Query2 : txt groupName, int cat, long hoursSubTot2
Query3 : txt groupName, int cat, long hoursSubTot3
我需要像这样添加 hoursSubTot1、hoursSubTot2 和 hoursSubTot3:
我希望数据聚合如结果 table 所示。但是我没有设法在 Access 中聚合正确的值,我没有想法,所以欢迎任何帮助或建议...
谢谢!
如果您不反对使用多个查询,这是我的想法。首先使用 UNION ALL
创建一个查询以组合三个查询。然后您可以创建一个新查询来计算总和。
SELECT Group, Category, Hours FROM Table1
UNION ALL
SELECT Group, Category, Hours FROM Table2
UNION ALL
SELECT Group, Category, Hours FROM Table3
ANSI SQL 答案,可能适用于 Access,也可能不适用于:
select group, category, sum(hours)
from
(
select group, category, hours from table1
union all
select group, category, hours from table2
union all
select group, category, hours from table3
)
group by group, category