困难的MS Access查询 - 如何组合它们?

时间:2011-06-10 16:32:59

标签: ms-access

我正在尝试根据数据库中多个不同表的数据构建访问报告。

我有3列执行计算,我想知道如何将此查询放在一起。所有3列都处理日期,但计算方式不同。

如果操作类型为“B”,则第一列会检索用户ID的最新操作日期:

select pid, Max(date) as most_recent
from actions
where ref = 'B'
group by pid;

第二列根据2个字段执行计算,一个是日期,一个是以月为单位的数字。我不确定如何添加这两个字段,以便将该数字添加到日期中作为几个月。

到目前为止我所拥有的是:

select nummonths,Max(lastvisit) from users
第三栏我需要为每个用户选择的第一个日期(下一个约会日期),这个日期之前和之后都会有日期,所以有点困难:

select uid,date from visits

最后2个查询的代码需要稍加修改,我想知道最好的方法是将它们加在一起的最佳方法是什么?一种联接?

2 个答案:

答案 0 :(得分:1)

如果您需要使用来自3个查询的数据构建报告,则需要相关数据才能加入这些数据。在这种情况下,请发送表格的结构。 如果需要在一个报表中显示3个列表,则可以使用子报表:创建新的空报表。在设计模式下,您可以从工具箱栏添加3个子报表。每个子报表都将记录源属性分配给相应的sql。

问候

答案 1 :(得分:-1)

  

我不确定如何添加这两个字段,以便将该数字添加到日期中作为数月。

使用DateAdd()函数:

SELECT DateAdd("m", 2, LastVisit) FROM ...

从LastVisit日期起两个月的日期结果。