在我的访问数据库中,我们跟踪两组日期。一组是会员缴纳会费的日期,另一组是其他会费的日期(非会员捐赠。)每个人有多个日期,具体取决于每种类型的付款次数。
Example:
+----+---------------+---------------+
| ID | Dues_Date | Cont_Date |
+----+---------------+---------------+
| 1 | 01/01/15 | 09/12/11 |
| | 01/01/14 | |
| | 01/01/13 | |
| 2 | 07/30/14 | 06/20/13 |
| | | 11/12/11 |
+----+---------------+---------------+
首先,我需要知道这两个字段中每个字段的最新付款,因此我运行了一个查询,告诉我每个字段的MAX(最近)日期。
Example Query:
+----+---------------+---------------+
| ID | Max Dues_Date | Max Cont_Date |
+----+---------------+---------------+
| 1 | 01/01/15 | 09/12/11 |
| 2 | 07/30/14 | 06/20/13 |
| 3 | 02/11/13 | 09/16/14 |
| 4 | 07/30/12 | 06/20/11 |
| 5 | 12/13/13 | 11/12/14 |
+----+---------------+---------------+
现在我需要在同一查询中使用第三个字段来比较前两个字段的结果,并显示这两个字段的MAX。 我在查询中有第2列和第3列;我该如何处理并在同一个查询中创建第4列?
Example Query:
+----+---------------+---------------+-----------------+
| ID | Max Dues_Date | Max Cont_Date | Max Date(DD&CD) |
+----+---------------+---------------+-----------------+
| 1 | 01/01/15 | 09/12/11 | 01/01/15 |
| 2 | 07/30/14 | 06/20/13 | 07/30/14 |
| 3 | 02/11/13 | 09/16/14 | 09/16/14 |
| 4 | 07/30/12 | 06/20/11 | 07/30/12 |
| 5 | 12/13/13 | 11/12/14 | 11/12/14 |
+----+---------------+---------------+-----------------+
答案 0 :(得分:0)
尝试根据您自己的情况进行调整:
SELECT tblTest.DueDate, tblTest.ContDate, [DueDate]-[ContDate] AS Test, IIf([Test]<0,[ContDate],[DueDate]) AS MaxRes
FROM tblTest;
&#34;试验&#34;查找哪个是更晚的日期,ContDate或截止日期。 IIf语句选择较晚的日期。
这有帮助吗?