将组记录并在一行中显示每个记录值
问题描述:
我在通过MS访问中的查询使用组时遇到问题。 我有如下表结构。将组记录并在一行中显示每个记录值
Number Date Marks
1 2011/3/25 20
1 2012/3/21 50
1 2013/3/22 22
1 2014/3/25 56
我想告诉像下面
Number march-2011 march-2012 march-2013
1 20 50 22
任何人都可以请帮我这个数据。我如何在ms-access中使用查询来做到这一点。我是ms-access的新手。
答
这个查询只需要有条件聚集:
select number,
sum(iif(year(date) = 2011 and month(date) = 3, Marks, 0)) as March2011,
sum(iif(year(date) = 2012 and month(date) = 3, Marks, 0)) as March2012,
sum(iif(year(date) = 2013 and month(date) = 3, Marks, 0)) as March2013
from table
group by number;
貌似你试图(是吗?)来创建数据透视表。 [这个问题](http://*.com/questions/17591221/pivot-table-in-access)关于同一主题可能会提供一些见解,可能会像[this]这样的教程(http://dotnet.tech。 ubc.ca/CourseWiki/index.php?title=Access_2010_PivotTable)或[this](https://www.youtube.com/watch?v=ZgerpTHzQes)。 – GolezTrol 2014-12-07 10:44:33
@ GolezTrol:它甚至可以使用查询吗? – user3407459 2014-12-07 11:08:00
我不确定。这是一个相当先进的主题,即使在像Oracle和MySQL这样的'大'数据库中,这也是一项艰巨的工作。 – GolezTrol 2014-12-07 11:12:10