该表包含2列 - 第一个类型为true
,第二个类型为AutoNumber(ID)
。
我需要显示其价值高于平均值的人的身份证。
如何在“设计”视图中执行此操作(不在sql中,仅在“设计”视图中)?
我面临以下错误: enter image description here
答案 0 :(得分:0)
您可以像这样使用SQL:
SELECT id
FROM Table1
,(
SELECT Avg(Table1.num) AS avgnum
FROM Table1
) AS a
WHERE num > a.avgnum;
在设计视图中,如果您使用平均值计算创建其他查询,则可以执行相同操作,让我们将其命名为qryAvg:
SELECT Avg(Table1.num) AS AvgOfnum
FROM Table1;
然后创建另一个最终查询,使用qryAvg:
SELECT Table1.id
FROM Table1, qryAvg
WHERE (((Table1.num)>[AvgOfNum]));
不幸的是,查询构建器不允许在图形模式下使用子查询,但在这种简单的情况下,您可以完全避免使用子查询,只需使用域聚合函数:
SELECT Table1.id
FROM Table1
WHERE (((Table1.num)>DAvg("num","Table1")));
在这种情况下,如果num为Long Integer,则需要将域函数的结果强制转换为Long Integer:
SELECT Table1.id
FROM Table1
WHERE (((Table1.num)>CLng(DAvg("num","Table1"))));