2

我在 Access 2007 中有一个事务样式表。例如

ID Start Date   End Date    Type        Sub Type
1  1/01/2012    15/02/2012  Supermarket Bread
1  16/02/2012   20/03/2012  Supermarket Milk 
1  21/03/2012   30/09/2012  Supermarket Cheese
1  1/11/2012    15/11/2013  Hardware    Nails

我需要做的就是将其转换为:

ID Start Date   End Date    Type        
1  1/01/2012    30/09/2012  Supermarket
1  1/11/2012    15/11/2013  Hardware

每个 ID 有一条记录,开始日期从第一个“超市”记录到最后一个“超市”记录。

如果在 Access 中可行,请感谢任何建议/帮助。

4

1 回答 1

1

看起来您想要一个按ID和分组的聚合查询Type。然后,您可以使用Min()Max()检索每个组中最早Start Date和最新的。End Date

SELECT
    ID,
    [Type],
    Min([Start Date]) AS start_date,
    Max([End Date]) AS end_date
FROM YourTable
GROUP BY
    ID,
    [Type];
于 2013-01-15T08:17:20.590 回答