【发布时间】:2014-11-20 00:33:21
【问题描述】:
首先:我对 MS Access 几乎一无所知,但现在我不得不使用它(数据集对于 Excel 来说太大了)。数据具有列名称,例如 Customer_Name、Product Name、Amount、Date
日期是指一个月的最后一天,例如二月是 2013 年 2 月 28 日。现在我想将客户在 2 月份购买的金额与他/她在 1 月份购买的金额进行比较并计算差额。到目前为止,我已经能够通过提示用户输入日期来做到这一点。
SELECT Data.Customer_Name,
Sum(IIf(Format(Date,"yymm")=[Startdate (yymm)?],Amount,0)) AS Amount_Startdate,
Sum(IIf(Format(Date,"yymm")=[Enddate (yymm)?],Amount,0)) AS Amount_Enddate,
Amount_Enddate-Amount_Startdate AS Difference
FROM Data
GROUP BY Data.Customer_Name;
这可行,但 Access 是否可以识别“日期”列中的哪些日期(只有两个不同的日期),因此用户不必输入任何内容?此外,我尝试将“Amount_Startdate”替换为名称中包含相应日期的字段(例如“Amount_Feb2013”),并使用 & 号进行操作,但它没有用。
【问题讨论】:
-
DISTINCT 前缀怎么样?