我需要为一个项目创建一个数据库。在过去的几个月里,我一直在学习 MS Access 2010 的基础知识,并开始涉足 SQL 以进行更具体的查询。话虽如此,我对程序的功能有一些非常基本的了解和知识。
我正在尝试从单个表创建查询以显示一系列计算。我已经取得了很大的进步,但现在我摸不着头脑,转而寻求帮助。
Table: LIT_ALL
SITE DATE TRANSECT CATEGORY DISTANCE_M
PIT 6/2/2011 1 RKC 0.25
PIT 6/2/2011 1 FMA 0.58
PIT 6/2/2011 1 LHC 0.75
PIT 6/2/2011 2 FMA 0.5
PIT 6/2/2011 2 SA 0.6
PIT 6/2/2011 2 RKC 0.52
PIT 6/2/2011 2 LHC 0.6
PIT 6/2/2011 3 CCA 0.59
PIT 6/2/2011 3 LHC 0.6
PIT 6/2/2011 3 FMA 0.52
使用此代码
TRANSFORM Sum(DISTANCE_M) AS SumOfDISTANCE_M
SELECT SITE, DATE, [CATEGORY]
FROM LIT_ALL
GROUP BY SITE, DATE,[CATEGORY]
PIVOT TRANSECT;
我的最终产品有部分格式
SITE DATE CATEGORY 1 2 3
PIT 6/2/2011 CCA .59
PIT 6/2/2011 FMA .58 .5 .52
PIT 6/2/2011 LHC .75 .6 .6
PIT 6/2/2011 RKC .25 .52
PIT 6/2/2011 SA .6
除了一些死胡同,我一直无法产生这样的结果。
SITE DATE CATEGORY 1 2 3 AVG STD SE
PIT 6/2/2011 CCA 0.00 0.00 34.5 11.5 19.92 6.64
PIT 6/2/2011 FMA 36.71 22.52 30.41 29.88 7.11 2.37
PIT 6/2/2011 LHC 47.47 27.03 35.09 36.53 10.30 3.43
PIT 6/2/2011 RKC 15.82 23.42 0.00 13.08 11.95 3.98
PIT 6/2/2011 SA 0.00 27.03 0.00 9.01 15.60 5.20
此示例中显示的值是百分比值。1,2,3 字段(Pivoted Transect Field)中的每个值都通过字段 1,2 中的单元格值或 3/sumtotal(分别为 1,2 或 3 值)*100 形成。我在删除 Null 时也遇到了问题。我已经使用 Nz 函数取得了一定程度的成功。只有我让我的 AVG 不考虑新插入的 O 值并将 AVG 扔掉。STDEV 是您日常运行的流行 stdev。SE代表错误..在这种情况下是STDEV / 3(即横断面的总数)。感谢您为我指明正确方向的所有帮助。我每天都在学习新技巧!接受建议