2009-06-10 37 views
0

我以前问过,但还是没有答案。如何在我的交叉查询中获得平均值和总和?

交叉查询可以做到这一点吗? (Access 2007年)

我有这个表:

50 | A1 

60 | A1 

70 | B1 

80 | B1 

90 | C1 

我需要得到这样的结果:

A1    B1    C1 

sum | avg  sum | avg  sum | avg 

55 | 110  75 | 130  90 | 90 

我试着写:

TRANSFORM Sum(Worki.Value) AS XXsum 
SELECT Worki.Name AS Name, Worki.Tdate AS Tdate, Worki.ID AS ID 
FROM Worki 
GROUP BY Worki.Name, Worki.Tdate, Worki.IDPIVOT Worki.Trit 

哪有我得到的平均数和总和?

回答

1

您可以使用SQL函数SUM()和AVG()。为了让每一个类型的A1,B1,C1,可以使用下面的查询的总和:

SELECT Worki.ID, SUM(Worki.Value), AVG(Worki.Value) FROM Worki GROUP BY Worki.ID, Worki.Name, Worki.Tdate 

它返回

 
A1 110 55 
B1 150 75 
C1 90  90 

对不起,我与格式

+0

但他希望A1,B1等是列标题。 – dsteele 2009-06-10 19:05:44

1

没有帮助不,您无法通过交叉表查询来完成此操作 - 交叉表中只能有一个值列。我想你必须建立两个查询 - 一个用于求和,一个用于求平均值,然后以某种方式组合信息。他们至少会有相同的专栏。