MS Access 使用表字段作为查询条件
Posted
技术标签:
【中文标题】MS Access 使用表字段作为查询条件【英文标题】:MS Access use table field as query criteria 【发布时间】:2015-07-31 09:54:58 【问题描述】:我有一个问题。 是否可以使用一个表作为查询条件来计算另一个表中有多少项?
我有两张桌子。表 1 是查询条件。表 2 是一个包含许多数据的表。
我想要一个新表或插入到现有表中,如下图所示。
使用表 1 中的条件计算表 2 中的项目数。 我可以多次运行查询来统计不同年份的数据。 所以主要的问题是如何使用另一个表作为标准来计算项目。
我不知道如何实现这一点。希望你能帮我解决这个问题。 非常感谢您的帮助>"
【问题讨论】:
不,您不能在计算字段中引用外部表。查询有什么问题? 我只知道一一查询。就像为 000-009 创建一个查询一样。另一个是 010-019。但是我不可能创建超过 1000 个查询@@ 是时候学习如何设计表和编写查询了 :) 开始使用外键/链接键链接表。即如果 table1 有 C1,table2 也必须代表 c1 而不是 a1 哦,天哪...我知道如果我在表 2 中添加一个键,它会容易得多。但是没有别的办法吗?...我将在表二中拥有超过 500000 条数据... 也许我应该使用 DCount 函数?但是还是不知道怎么用...@@ support.office.com/en-in/article/… 【参考方案1】:以下查询是我能为您找到的最接近的查询。 C5 和 C6 的行将丢失,因为它们不存在任何值。
TRANSFORM Nz(Count([number]),0) AS CountValue
SELECT Table1.ID
FROM Table1, Table2
WHERE (((Table2.number) Between [table1].[start] And [table1].[end]))
GROUP BY Table1.ID
PIVOT DatePart("yyyy",[ndate]);
产量:
ID 2000 2001
C1 2 0
C2 2 0
C3 1 0
C4 0 2
C7 1 0
很可能对于较大的数据集,此答案可能会因缺少明确的连接而产生一些不正确的值,但希望它为您指明正确的尝试方向,一旦您将适当的连接合并到您的表中。
【讨论】:
哇!!!!!!!!!!!!这正是我想要的!谢谢你的指导!我可以再问一个问题。有没有办法根据ID将结果写回表1?谢谢@@~ 为此发布另一个问题,我们不想在同一个线程上用多个问题混淆这个问题。请务必发布您将要使用的实际查询。 好的!感谢您的帮助!以上是关于MS Access 使用表字段作为查询条件的主要内容,如果未能解决你的问题,请参考以下文章
MS Access SQL:使用另一个表中的Sum更新连接查询
MS ACCESS 2016 - 使用 Null 进行查询的标准
如何在 MS Access 2007 中使用查询作为报告源?