2017-10-04 103 views
0

我使用的是Access 2007. column1是数值(第1周,第2周,第3周),在column2中是成本中心(01,03,05, 12,24等)。我正在尝试创建一个查询,以便为每个成本中心计算column1的所有实例,并将结果显示在3个不同的列中。例如:Access 2007查询在同一列中计数不同的值

Cost Center  Week1  Week2 Week3 
01    15  25  3 
03    8  10  12 
05    200  11  55 

似乎不应该太难,但我不能让它工作。这是唯一的,如果我算一个特定的星期

SELECT Mid([TransTable]![LGCY_IORG_ID],1,2) AS Expr1, 
     Count(TransTable.Week) AS CountOfWeek 
FROM TransTable 
WHERE (((TransTable.Week)="Week 1")) 
GROUP BY Mid([TransTable]![LGCY_IORG_ID],1,2); 

我想在另一列获得第1周在一列中,2周时运作的代码,和3周的第3列,感谢您的帮助。

+0

提供样本源数据。也许一个CROSSTAB查询是合适的。 – June7

+0

你是否希望按月份和年份分组数据? – June7

回答

1
SELECT column2 As CostCenter, 
IIF(column1 = 'Week 1' , column2 , 0) As Week1, 
IIF(column1 = 'Week 2' , column2 , 0) As Week2, 
IFF(column1 = 'Week 3' , column2 , 0) As Week3 
FROM TransTable 
GROUP BY column2 
+0

...........这为我工作。感谢您的帮助.... – Shaves

1

使用交叉表查询向导。

行标题将成本中心列。 列标题是包含星期描述的列。 价值将是每周计数。

+0

..............感谢您的建议。我以前没有使用过Crosstab查询,但我一定会试一试 – Shaves

相关问题