【发布时间】:2014-12-18 22:49:29
【问题描述】:
样本数据:
ORDER SEQ IN OUT
310 1 Jan-20 Jan-22
310 2 Jan-22 Jan-23
207 1 Jan-23 Jan-26
207 2 Jan-26 Jan-27
207 3 Jan-27 Jan-29
我需要创建一个新表,使 ORDER 成为主键,并通过从最低的 SEQ 中检索新的 IN 值来为每个 ORDER 条目分配一个新的 IN 和 OUT 值ORDER 和新的 OUT 值来自最大的 SEQ ORDER。
例如:
ORDER IN OUT
310 Jan-20 Jan-23
207 Jan-23 Jan-29
任何帮助将不胜感激
【问题讨论】:
-
您是否尝试过创建一个查询,该查询使用 'Totals' 并在 ORDER 上使用 GROUP BY,然后将 MIN 用于 In,MAX 用于 Out?这为您提供了所需的输出。那么你想如何创建新表呢?手动?使用 VBA?使用 SQL?
-
我会试试的,谢谢。我想使用 SQL 创建新表。我很困惑,总计是指什么?
-
以下是获取所需结果的 SQL 示例:SELECT tblOrder.Order, Min(tblOrder.InDate) AS MinOfInDate, Max(tblOrder.OutDate) AS MaxOfOutDate FROM tblOrder GROUP BY tblOrder。订单;
-
创建表的 SQL 示例(以及错误的字段名称!):strSQL = "CREATE TABLE tblOrderSum (OrderNo INT, InDate DATETIME, OutDate DATETIME, PRIMARY KEY (OrderNo))" CurrentProject.Connection.Execute strSQL
-
谢谢您,这非常有效!表明这解决了我的问题的正确方法是什么?因为这些是 cmets(我是 SO 新手)
标签: sql ms-access primary-key create-table