- ベストアンサー
ACCESSのクエリ
いつもお世話になってます。 今回はACCESSのSQLのクエリについて質問します。 テーブルAを日付ごとにテーブルBのようにしたいのですがどうすれば良いでしょうか? テーブルA ID 日付 商品 個数 1 1/1 ドコモ 10 2 1/1 AU 11 3 1/1 ソフト 12 4 1/2 ドコモ 5 5 1/2 AU 4 6 1/2 ソフト 3 ・ ・ ・ テーブルB 日付 ドコモ AU ソフト 1/1 10 11 12 1/2 5 4 3 ・ ・ ・ わかりにくい説明かもしれませんがよろしくお願い致します。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
#2です。もっと簡単なSQLがありました。 SELECT 日付, SUM(IIF(商品="ドコモ", 個数, 0)) AS ドコモ, SUM(IIF(商品="AU", 個数, 0)) AS AU, SUM(IIF(商品="ソフト", 個数, 0)) AS ソフト FROM テーブルA GROUP BY 日付;
その他の回答 (3)
- 30246kiku
- ベストアンサー率73% (370/504)
クロス集計クエリを作ります。 クエリをデザインから作成します。テーブルAを表示させておきます。 クエリの種類をクロス集計にします。 テーブルA内の「日付」をダブルクリックし、行列の入れ替えを行見出しへ テーブルA内の「商品」をダブルクリックし、行列の入れ替えを列見出しへ テーブルA内の「個数」をダブルクリックし、行列の入れ替えを値、集計を合計へ クエリの表示をデータシートビューにして表示を確認します。 よければクエリを保存します。
お礼
参考にさせて頂きます。 ありがとうございました。
- nag0720
- ベストアンサー率58% (1093/1860)
商品ごとに個数のフィールドを分けてから集計すれば可能です。 SELECT 日付, SUM(F1) AS ドコモ, SUM(F2) AS AU, SUM(F3) AS ソフト FROM (SELECT 日付, IIF(商品="ドコモ", 個数, 0) AS F1, IIF(商品="AU", 個数, 0) AS F2, IIF(商品="ソフト", 個数, 0) AS F3 FROM テーブルA) GROUP BY 日付;
- BookerL
- ベストアンサー率52% (599/1132)
Access2002 以降であれば「ピボットテーブル」が使えます。 http://riko.s235.xrea.com/Excel-VBA/excel4-10-007.html
お礼
ピボットテーブルの名前は聞いたことはありましたがこういう事もできるんですね。参考にさせていただきます。ありがとうございました。
お礼
2回も答えて下さってありがとうございます。 希望通りの結果が出ました。 ありがとうございました。