与第二个字段相关时在一个字段中查找完全匹配项

问题描述 投票:1回答:2

我很高兴能为您提供一些有关问题的帮助,希望对以下两张表进行合理总结:

enter image description here

表1包含主要原始数据,其中FieldA与FieldB中的特定项目有关系。

FieldB中的项目相对于FieldA中的每个唯一项目都是唯一的-也就是说,猫,狗,兔子,鸡只会在FieldA的“ a”组下出现一次(它们可以出现在该字段的其他位置)。同样,对于FieldA中的b,c和d项(所有FieldB项仅针对它们出现一次)。

表2列出了表1,字段B中每个唯一项的总数,并通过以下查询生成:

qryCount:

select FieldB, count(FieldB) AS FCount 
from Table1
GROUP BY FieldB;

我的问题:用户在表1的FieldA中输入唯一值,然后查询应在FieldB(表1)中返回相对于表2中各个FCount完全匹配的所有唯一值。

例如

  • 如果用户输入“ a,b,d”,则查询输出“猫,狗,兔子,雪貂”,因为cat(3),dog(2),rabbit(1)和雪貂(1)的总数为遇见。
  • 如果用户输入“ a,c”,由于满足了chicken(2)和rabbit(1)的总数,查询将输出“ chicken,rabbit”。
  • 如果用户输入“ b”,则查询不会返回任何内容,因为相应的FieldB项也位于其他位置。

我确实在Excel中使用VBA解决了这个问题(建立了一个命中表,并查看是否满足了用户输入的值的总计数),但是尽管我确实有使用Access SQL(2007)的经验,但我我努力从VBA转换此想法。感谢您的帮助。

sql ms-access-2007
2个回答
1
投票
此查询应为您提供所需的结果。它使用子查询生成Table2的有效副本,但仅生成FieldA的所需值。然后将其连接到Table2,仅给出FCount值匹配的行:

1
投票
除非我误解了逻辑,否则我将提出以下建议:
© www.soinside.com 2019 - 2024. All rights reserved.