表格数:1
Col1 Col2 Col3 Total
+10 0 Prod1
0 -10 Prod1
0 -20 Prod2
+20 0 Prod2
我想要 -
Col1 Col2 Col3 Total
+10 0 Prod1 0
0 -10 Prod1 0
0 -20 Prod2 0
+20 0 Prod2 0
我想总结col1&共列Col3中Col3中相同产品的col2。 我如何实现这一目标?
DoCmd.RunSQL“UPDATE Table1 SET Table1.Total =(从Table1 Group By Table1.Col3中选择Sum(Table1.Total))”
请注意我不只是在这里添加2列。它相当于我瞄准的Excel的SumIf。
答案 0 :(得分:1)
您的查询可能如下所示:
Select coalesce(Sum(Table1.Col1),0) + Coalesce(Sum(Table1.Col2),0)
from Table1
Group By Table1.Col3
使用coalesce
,我们确保sum
中的一个不会null
。
update
部分:
UPDATE Table1 t1 SET t1.Total = (
Select coalesce(Sum(t2.Col1),0) + Coalesce(Sum(t2.Col2),0)
from Table1 t2
where t2.Col3=t1.Col3
Group By t2.Col3
)
答案 1 :(得分:1)
一种方法使用相关子查询:
select col1, col2, col3,
(select sum(tt1.col1) + sum(tt1.col2)
from table1 as tt1
where tt1.col3 = t1.col3
) as Total
from table1 as t1;
如果你想以update
的方式做到这一点,那就是同样的想法:
update table1
set Total = (select sum(tt1.col1) + sum(tt1.col2)
from table1 as tt1
where tt1.col3 = table1.col3
);