
お世話になります。
以下のようなテーブルがあります。
ID 年月 商品数 利用者数
1 2013年9月 10 5
2 2013年10月 15 3
3 2013年11月 20 10
4 2013年12月 13 5
・
・
・
12 2014年9月 10 3
このテーブルをクエリで以下のように表示したいところです。
10月 11月 12月・ ・ ・ 9月 ←2014年の9月
商品数 15 20 13 10
利用者数 3 10 5 3
※右端を先月とし過去1年分を表示したい。
クエリで上記のように表現することは可能でしょうか。
ご教授の程、宜しくお願い致します。
No.3ベストアンサー
- 回答日時:
利用者数 に対してフィールド名の別名宣言を省略しているのことに対する疑問でしょうか。
ユニオンクエリにした場合、フィールド数とデータ型があっていればフィールド名は異なっていも問題ないです。
最初のSELECT文のフィールド名が採用されます。
ですので、2番目は別名の宣言は省略しても問題ないのです。
SELECT "商品数" AS 項目, 年月, 商品数 AS 数量 FROM テーブル名
UNION ALL
SELECT "利用者数", 年月, 利用者数 FROM テーブル名;
これでもいいし、省略せずに丁寧に書けば、
SELECT "商品数" AS 項目, 年月, 商品数 AS 数量 FROM テーブル名
UNION ALL
SELECT "利用者数" AS 項目, 年月, 利用者数 AS 数量 FROM テーブル名;
となります。
最初のSQLは片方は別名宣言して、片方は省略したので紛らわしかったですね。
疑問に思ったことはこのようなことでしたしょうか。
hatena1989さま
ご回答ありがとうございます。
>ユニオンクエリにした場合、フィールド数とデータ型があっていればフィールド名は
>異なっていも問題ないです。
>最初のSELECT文のフィールド名が採用されます。
>ですので、2番目は別名の宣言は省略しても問題ないのです。
私の勉強不足ですね。。フィールド名も前者後者ともに同じ名前に合わせ
なければならないという認識でしたし、省略できることすら知りませんでした。
大変勉強になりました!ありがとうございます。
No.2
- 回答日時:
ユニオンクエリを利用して、商品数と利用者数が縦に並ぶように変換します。
SELECT "商品数" AS 項目, 年月, 商品数 AS 数量 FROM テーブル名
UNION ALL
SELECT "利用者数" AS 項目, 年月, 利用者数 FROM テーブル名;
このクエリからクロス集計クエリを作成すればいいでしょう。
hatena1989様
ご回答ありがとうございます。
返信が遅くなり申し訳ございません。
教えて頂いた方法でうまくいけました。
うまくいきましたが、いまいちこのユニオンクエリを理解できずにいます。
商品数と利用者数でそれぞれ「項目」を新たに設け、商品数の方は
そこに"商品数"を、利用者数の方は"利用者数"を表示しているかと
思うのですが、利用者数側の数量はどうなってるのでしょうか。
商品数側で「数量」を表示してるので、利用者数側では指定する必要は
ない。。ということなのでしょうか。
ユニオンクエリでは、両方の表示する項目を同じように指定しなければ
ならないという認識なのですが。
この辺をご教授頂けると幸いです。
宜しくお願い致します。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Accessでテーブル名やクエリ名...
-
Countと受付状態の表示に...
-
下記の事を行うSQLがわかりませ...
-
パススルークエリをテーブル作...
-
データベースで変更の多いテー...
-
テーブル作成クエリで主キーを設定
-
2つのmdb内にある同名テーブル...
-
Accessで、複数のテーブルで随...
-
Accessでのテーブルのコピー
-
ACCESS97のテーブルサイズについて
-
ACCESSに同時アクセス(編集)を...
-
Accessデータベースで測定デー...
-
SQLで条件指定結合をしたいがNU...
-
Accessでテーブルからテーブル...
-
時間の足し算
-
ACCESSのSQLで数値型に変換する...
-
Excel 2019 のピボットテーブル...
-
「直需」の意味を教えてください
-
ACCESS検索★ある文字を複数のフ...
-
Accessで、固定アルファベット+...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Accessでテーブル名やクエリ名...
-
下記の事を行うSQLがわかりませ...
-
Countと受付状態の表示に...
-
Accessレコードの追加や変更が...
-
Accessの追加クエリで既存のテ...
-
Accessでテーブルからテーブル...
-
Accessでvlookupみたいなことは...
-
2つのテーブルを比較して一致し...
-
Accessクエリでの、LIKE条件
-
access テーブル内のレコード...
-
テーブルを、たとえそれが存在...
-
ACCESSのSQLで数値型に変換する...
-
デザインビューで、連結式 を...
-
ACCESSに同時アクセス(編集)を...
-
2つのテーブルAとBをマージ...
-
accessで指定期間の曜日カウン...
-
データベースで変更の多いテー...
-
INSERT時にデータ登録とmaxの発...
-
パススルークエリをテーブル作...
-
SQLで条件指定結合をしたいがNU...
おすすめ情報