1

我有一张表格,其中列出了从现在到 2015 年的日期。例如。

Date
11/1/2013
12/1/2013
13/1/2013
...
25/1/2013

我有一个单独的表格,其中包含报告日期。

cutoff_ date    purpose
11/1/2013       Mid Month Report
25/1/2013       Month End Report

所以我需要将 2013 年 11 月 1 日和 2013 年 1 月 25 日之间的日期全部分配给 25/1/2013 什么是最好的解决方法?

我可以在一个简单的 SQL 查询中做到这一点吗?如果有影响,数据库当前处于 Access 中

4

2 回答 2

1

用于检索大于或等于[Date]DMin的最小cutoff_date

SELECT
    [Date],
    DMin("cutoff_date", "report_dates",
        "[cutoff_date] >= " & Format([Date], "\#yyyy-m-d\#")) AS report_date
FROM first_table;
于 2013-02-20T08:06:40.030 回答
0

使用子查询可能有一些好处,例如,您可以使用参数,该参数可以在代码中分配、从表单获取或简单地输入。此示例仅选择日期与输入的 cutoff_date 目的相匹配的那些记录在提示中[please enter purpose]

SELECT DISTINCT dates.day,
                (SELECT TOP 1 cutoff_date
                 FROM   report_dates
                 WHERE  cutoff_date >= dates.day
                        AND purpose = [please enter purpose]
                 ORDER  BY cutoff_date) AS CutOff
FROM   dates
WHERE  (SELECT TOP 1 cutoff_date
        FROM   report_dates
        WHERE  cutoff_date >= dates.day
               AND purpose = [please enter purpose]
        ORDER  BY cutoff_date) IS NOT NULL; 
于 2013-02-22T13:52:25.723 回答