2016-05-13 78 views
0

与此查询查询在Access 2010

SELECT Year, Month, Customer, Cod_user, Int(Sum(hours)) AS hours 
FROM T_Att 
GROUP BY Year, Mounth, Customer, Cod_user 
HAVING (((Year)="2016") AND ((Month)="03") AND ((Customer)="CA")); 

我得到以下结果

enter image description here

如果您要添加的全球总和(总和)关键,什么需要改变?

enter image description here

回答

1

虽然我没有测试过,你应该能够只需添加一个字段:

这将增加所有时间所有年份,月份和客户。

SELECT  Year, 
      Month, 
      Customer, 
      Cod_user, 
      Int(Sum(hours)) AS lhours, 
      (
      SELECT SUM(hours) 
      FROM T_Att 
      ) AS GlobalTotal 
FROM  T_Att 
GROUP BY Year, Month, Customer, Cod_user 
HAVING  (((Year)="2016") AND ((Month)="03") AND ((Customer)="CA")); 

为了保持GlobalTotal至2016年3月使用:

SELECT  Year, 
      Month, 
      Customer, 
      Cod_user, 
      Int(Sum(hours)) AS lhours, 
      (
      SELECT SUM(hours) 
      FROM T_Att 
      WHERE Year = T1.Year AND Month = T1.Month 
      ) AS GlobalTotal 
FROM  T_Att T1 
GROUP BY Year, Month, Customer, Cod_user 
HAVING  (((Year)="2016") AND ((Month)="03") AND ((Customer)="CA")); 

注 - 我已经改名hourslhours以避免循环引用。您还应该考虑将其重命名为yearmonth,因为这些关键字可能会导致问题。
此外,yearmonth会为数字而不是文本更好。

+0

太好了,非常感谢你! – Alan392