当所有行都相同时访问查询不同的记录
Access query distinct record when all rows same
不确定如何正确地表达 question/description,因此将举例说明。
在 Access 中,我需要 运行 查询 return 一条记录,如果(2 列)select 不同的所有行都相同。
所以:
风格 |旗帜
123 | Y
123 | N
123 | Y
456 | Y
456 | Y
456 | Y
789 | N
789 | N
789 | N
我只想 return 456 一次,因为“456”样式的所有版本都有一个标志 = 'Y'。样式“123”不会被 return 编辑,因为它混合了 'Y' 和 'N'。不应 return 编辑样式“789”,因为所有实例都是 'N'。我只是想 return "all 'Y', only 'Y' records"
将查询拆分为 3 个部分
第 1 部分,按样式和标志分组(计算行数以获取信息)将其另存为 Query1
SELECT Table1.Style, Table1.Flag, Count(Table1.ID) AS CountOfID
FROM Table1
GROUP BY Table1.Style, Table1.Flag;
第 2 部分 - 按样式分组,计算标记记录的数量,然后过滤以仅显示标记计数为 1 的记录。将其另存为 Query2
SELECT Query1.Style, Count(Query1.Flag) AS CountOfFlag
FROM Query1
GROUP BY Query1.Style
HAVING (((Count(Query1.Flag))=1));
第 3 部分 - 返回原始 table,并过滤以仅显示带有 Y 标志的样式。
SELECT Table1.Style, Table1.Flag
FROM Query2 INNER JOIN Table1 ON Query2.Style = Table1.Style
GROUP BY Table1.Style, Table1.Flag
HAVING (((Table1.Flag)="Y"));
(Table1、Query1、Query2、Query3 名称可以替换为对您的问题集更有意义的名称)。
不确定如何正确地表达 question/description,因此将举例说明。
在 Access 中,我需要 运行 查询 return 一条记录,如果(2 列)select 不同的所有行都相同。
所以:
风格 |旗帜
123 | Y
123 | N
123 | Y
456 | Y
456 | Y
456 | Y
789 | N
789 | N
789 | N
我只想 return 456 一次,因为“456”样式的所有版本都有一个标志 = 'Y'。样式“123”不会被 return 编辑,因为它混合了 'Y' 和 'N'。不应 return 编辑样式“789”,因为所有实例都是 'N'。我只是想 return "all 'Y', only 'Y' records"
将查询拆分为 3 个部分
第 1 部分,按样式和标志分组(计算行数以获取信息)将其另存为 Query1
SELECT Table1.Style, Table1.Flag, Count(Table1.ID) AS CountOfID
FROM Table1
GROUP BY Table1.Style, Table1.Flag;
第 2 部分 - 按样式分组,计算标记记录的数量,然后过滤以仅显示标记计数为 1 的记录。将其另存为 Query2
SELECT Query1.Style, Count(Query1.Flag) AS CountOfFlag
FROM Query1
GROUP BY Query1.Style
HAVING (((Count(Query1.Flag))=1));
第 3 部分 - 返回原始 table,并过滤以仅显示带有 Y 标志的样式。
SELECT Table1.Style, Table1.Flag
FROM Query2 INNER JOIN Table1 ON Query2.Style = Table1.Style
GROUP BY Table1.Style, Table1.Flag
HAVING (((Table1.Flag)="Y"));
(Table1、Query1、Query2、Query3 名称可以替换为对您的问题集更有意义的名称)。