- ベストアンサー
Accessクエリで月別のデータを表示する方法
- Accessクエリを使用して、月別のデータを表示する方法を教えてください。
- 特定のテーブルに格納されている年月、商品数、利用者数のデータを、月別に表示する方法を教えてください。
- クエリを使って、過去1年間の月別の商品数と利用者数を表示する方法を教えてください。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
利用者数 に対してフィールド名の別名宣言を省略しているのことに対する疑問でしょうか。 ユニオンクエリにした場合、フィールド数とデータ型があっていればフィールド名は異なっていも問題ないです。 最初のSELECT文のフィールド名が採用されます。 ですので、2番目は別名の宣言は省略しても問題ないのです。 SELECT "商品数" AS 項目, 年月, 商品数 AS 数量 FROM テーブル名 UNION ALL SELECT "利用者数", 年月, 利用者数 FROM テーブル名; これでもいいし、省略せずに丁寧に書けば、 SELECT "商品数" AS 項目, 年月, 商品数 AS 数量 FROM テーブル名 UNION ALL SELECT "利用者数" AS 項目, 年月, 利用者数 AS 数量 FROM テーブル名; となります。 最初のSQLは片方は別名宣言して、片方は省略したので紛らわしかったですね。 疑問に思ったことはこのようなことでしたしょうか。
その他の回答 (2)
- hatena1989
- ベストアンサー率87% (378/433)
ユニオンクエリを利用して、商品数と利用者数が縦に並ぶように変換します。 SELECT "商品数" AS 項目, 年月, 商品数 AS 数量 FROM テーブル名 UNION ALL SELECT "利用者数" AS 項目, 年月, 利用者数 FROM テーブル名; このクエリからクロス集計クエリを作成すればいいでしょう。
お礼
hatena1989様 ご回答ありがとうございます。 返信が遅くなり申し訳ございません。 教えて頂いた方法でうまくいけました。 うまくいきましたが、いまいちこのユニオンクエリを理解できずにいます。 商品数と利用者数でそれぞれ「項目」を新たに設け、商品数の方は そこに"商品数"を、利用者数の方は"利用者数"を表示しているかと 思うのですが、利用者数側の数量はどうなってるのでしょうか。 商品数側で「数量」を表示してるので、利用者数側では指定する必要は ない。。ということなのでしょうか。 ユニオンクエリでは、両方の表示する項目を同じように指定しなければ ならないという認識なのですが。 この辺をご教授頂けると幸いです。 宜しくお願い致します。
- bin-chan
- ベストアンサー率33% (1403/4213)
見出し(列名)の調整が必要だが、「クロス集計」2本作って それを選択クエリで繋ぐと実現できそう
お礼
bin-chanさま ご回答ありがとうございます。 その見出しの部分のやり方が分からずにいる状況です。
お礼
hatena1989さま ご回答ありがとうございます。 >ユニオンクエリにした場合、フィールド数とデータ型があっていればフィールド名は >異なっていも問題ないです。 >最初のSELECT文のフィールド名が採用されます。 >ですので、2番目は別名の宣言は省略しても問題ないのです。 私の勉強不足ですね。。フィールド名も前者後者ともに同じ名前に合わせ なければならないという認識でしたし、省略できることすら知りませんでした。 大変勉強になりました!ありがとうございます。