2017-06-07 9 views
1

TRANSFORMを使用してテーブルを再フォーマットする必要があります。私はいくつかのことを試しましたが、何らかの理由でそれはうまく動作しません。ここで私は何をしなければならないのかの例です。私はこのように見えるように、このテーブルを再フォーマットするTRANSFORMを使用してSQLでMS-Accessでテーブルを再フォーマットする

 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 

最初の列はイン/アウト、残りここで数字の下でそれらは、その年に何回のインサイドかアウトが起こったかといった単なるカウントです。どんな助けでも大歓迎です。前もって感謝します。

+0

これまでに試したことがうまくいかないことを示すことはできますか? –

答えて

0

解決策が見つかりました。これは次のとおりです。

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

クエリは次のようになり

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

は、グラフィカルにそれは次のようになります。

enter image description here

それは予約語だと混同し得るようなのにあなたはyearからフィールド名を変更したい場合がありますデータベース。

+0

私は金額の合計を望んでいませんでした。私は少し簡単にするために私の質問を編集しました – tee

+0

あなたは金額で何かをする必要があるでしょう - それらを数え、平均し、合計してください...彼らは 'で'または「out」と「2011-12」または「2012-13」。計算は、例えば、2011-12年の2つのin値がある場合に実行する必要があります。重複がない場合、SUMは値を返します(1つしかないので)。 SUMをCOUNTに変更して、COUNT(*)ソリューションと同じテーブルを取得することができます。 –

関連する問題