2007年每月两年一次的年度总计

时间:2015-03-22 17:06:47

标签: sql ms-access-2007 reporting

我正在帮助慈善机构解决他们的一些IT需求。他们并不是我见过的最具技术天赋的人,他们渴望以月度,半年度和年度形式来吸引他们的访客。

他们目前有这样的数据库设置:

其中U是唯一ID,日期是日期,V是访客号码。

U |日期| V

1 | 23/02/14 | 15

2 | 24/02/14 | 17

3 | 02/03/14 | 25

我怎样才能将这些加入到他们想要的输出中?我熟悉SQL但是对Access本身很新 - 我已经习惯了MS Management Studio和服务器端的东西。我对SQL的问题是能够将年度和半年的数字与日期分开。

非常感谢任何帮助。

[编辑1]

我已经尝试了下面给出的SQL代码,但是获得了VistCount的循环引用。

SELECT
    VisitYear,
    VisitHalfYear,
    VisitMonth,
    SUM(VisitCount) AS VisitCount
FROM
    (
    SELECT
        YEAR([Day/Date]) AS VisitYear,
        MONTH([Day/Date]) AS VisitMonth,
        IIF(MONTH([Day/Date]) < 7, 1,2) AS VisitHalfYear,
        [Number of Attendees] AS VisitCount
    FROM [Attendees]) 
GROUP BY
    VisitYear,
    VisitHalfYear,
    VisitMonth

1 个答案:

答案 0 :(得分:1)

在Access中创建一个与此类似的已保存查询:

SELECT
    VisitYear,
    VisitHalfYear,
    VisitMonth,
    SUM(VisitCount) AS VisitCount
FROM
    (
    SELECT
        YEAR([Date]) AS VisitYear,
        MONTH([Date]) AS VisitMonth,
        IIF(MONTH([Date]) < 7, 1,2) AS VisitHalfYear,
        V AS VisitCount
    FROM Table) t
GROUP BY
    VisitYear,
    VisitHalfYear,
    VisitMonth

我建议使用布局报告而不是表单,其中控件源是查询。您可以添加年,半年和月的报告组,并以可读格式进行布局。通过在半年和年份页眉/页脚添加公式为= SUM(VisitCount)的文本框控件来获取小计。