如何在新列中汇总每个重复值?

问题描述

我需要在我的表(Microsoft Access)中的一列,该列具有该表中每个重复值的ID的摘要。该表具有父类型和子类型,父类型需要表中每个子ID的摘要

我尝试将表达式嵌套在查询中,并为找到的每个重复项添加ID([summ]&“,”,“&[id]),但这给了我一个循环引用错误

我的桌子看起来像这样:

ID | name | type  | 
---+------+-------+
 1 | aaa  | parent| 
 2 | aaa  | child | 
 3 | aaa  | child | 
 4 | bbb  | parent| 
 5 | bbb  | child |
 6 | bbb  | child |

我需要一个新的专栏给我:

ID | name | type   | summ   
---+------+--------+------
 1 | aaa  | parent | 2,3    
 2 | aaa  | child  | 
 3 | aaa  | child  | 
 4 | bbb  | parent | 5,6
 5 | bbb  | child  |
 6 | bbb  | child  | 

我知道最好为此使用另一个表,但是我需要能够以这种格式导出它。

谢谢。

解决方法

这需要两个步骤:

1-使用ConcatRelated建立查询,该查询返回所有type=child分组的name记录。

结果:

aaa | 2,3
bbb | 5,6

2-使用LEFT JOIN将结果与原始表(父记录)连接。例如

SELECT ...
FROM table LEFT JOIN concatquery
ON (table.name = concatquery.name) AND (table.type = "parent")

实际上,我不确定这是否行得通。如果不是,请使用INNER JOIN,然后将其与type=child记录合并。