我正在尝试根据数据库中多个不同表的数据构建访问报告。
我有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个查询的代码需要稍加修改,我想知道最好的方法是将它们加在一起的最佳方法是什么?一种联接?
答案 0 :(得分:1)
如果您需要使用来自3个查询的数据构建报告,则需要相关数据才能加入这些数据。在这种情况下,请发送表格的结构。 如果需要在一个报表中显示3个列表,则可以使用子报表:创建新的空报表。在设计模式下,您可以从工具箱栏添加3个子报表。每个子报表都将记录源属性分配给相应的sql。
问候
答案 1 :(得分:-1)
我不确定如何添加这两个字段,以便将该数字添加到日期中作为数月。
使用DateAdd()函数:
SELECT DateAdd("m", 2, LastVisit) FROM ...
从LastVisit日期起两个月的日期结果。