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

我怎样才能得到平均值和总和?

4

2 回答 2

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

对不起,我对格式化没有帮助

于 2009-06-10T18:57:18.090 回答
1

不,您不能使用交叉表查询来执行此操作 - 交叉表中只能有一个值列。我认为您必须构建两个查询 - 一个用于求和,一个用于平均,然后以某种方式组合信息。至少,它们将具有相同的列。

于 2009-06-10T19:04:58.730 回答