删除行"小于x行"从Access数据透视表或类似的查询?

时间:2014-07-30 17:29:27

标签: ms-access ms-access-2010

我设法在Access中创建一个数据透视表视图,将行放入列中并选择我需要的行,但我想从该报告中删除少于5个课程的所有行并且无法弄清楚怎么样。我的数据如下:

Company Student Course
ABC CP  S1
ABC CP  S2
ABC CP  S3
ABC CP  S4
ABC CP  S5
ABC JH  S1
ABC JH  S2
ABC JH  S3
ABC JH  S4
CBA HR  S1
CBA HR  S2
CBA HR  S3
CBA HR  S4
CBA HR  S5

我期待的结果是获得以下内容:

Company Student S1  S2  S3  S4  S5  Total
ABC     CP      1   1   1   1   1   5
CBA     HR      1   1   1   1   1   5

在这种情况下,ABC公司的JH未列出,因为只有4门课程,而不是5门。

实现这一目标的最简单方法是什么?谢谢

1 个答案:

答案 0 :(得分:1)

使用派生表可能最简单:

TRANSFORM Count(c.course) AS countofcourse
SELECT c.company,
       c.course
FROM   courses c
       INNER JOIN (SELECT company,
                          course,
                          Count(course) AS CountOfCourse
                   FROM   courses
                   GROUP  BY company,
                             course
                   HAVING Count(course) > 4) cc
               ON ( c.course = cc.course )
                  AND ( c.company = cc.company )
GROUP  BY c.company,
          c.course
PIVOT c.student;