SQL使用TRANSFORM在MS-Access中重新格式化我的表

时间:2017-06-07 12:33:14

标签: sql ms-access

我需要帮助使用TRANSFORM重新格式化我的表格。我尝试了一些东西,但由于某种原因,它只是不起作用。这是我必须做的一个例子。说我有这张桌子:

     table1:

| in/out | year   | 
|   in   | 2011-12|
|   in   | 2011-12|
|   in   | 2012-13|
|   out  | 2011-12|
|   out  |2012-13 |
|   out  |2012-13 |

我想将此表格重新格式化为:

|in/out| 2011-12 | 2012-13 
|  in  |   2     |   1
|  out |   1     |   2

第一列是输入/输出,其余的只是这些年份下的数字只是例如当年发生了多少输入或输出的数量。任何帮助将不胜感激。提前谢谢。

2 个答案:

答案 0 :(得分:1)

查询将是

TRANSFORM   Sum(amount) AS SumOfamount
SELECT      [in/out]
FROM        Table1
GROUP BY    [in/out]
PIVOT       [year]

图形上看起来像这样:

enter image description here

您可能希望更改year中的字段名称,因为这是一个保留字,可能会使数据库混淆。

答案 1 :(得分:0)

我找到了解决方案。就是这样:

Transform Count(*)
SELECT [in/out] FROM table1 GROUP BY [in/out]
PIVOT year IN("2011-12", "2012-13");