- 締切済み
Access 2000、ユニオンクエリーがどうしても出来ない!
初歩の質問ですが、ユニオンクエリーが出来ません。 やりたい事は非常に単純です↓↓ 1:テーブル1、テーブル2、テーブル3があります。 2:各テーブルのデータ内容は様々ですが、共通項目として「品番」を持っています。但しテーブル1は「製品名」、テーブル2と3は「品番」という項目名になっています。 3:各テーブル内に、品番が幾つ入っているか、集計クエリでカウントします。項目名が違うので以下のように処理しました。 <テーブル1の場合> フィールド|品番のカウント: 製品名|タイトル: "テーブル1" テーブル |テーブル1 集 計 |カウント <テーブル2(或いは3)の場合> フィールド|品番のカウント: 品番|タイトル: "テーブル2" テーブル |テーブル2 集 計 |カウント 4:3の集計クエリーを繋ぎ、テーブル1~3の品番件数を一気に表示させたい <ユニオンクエリの内容> SELECT * from Q0_カウント_テーブル1 UNION select * from Q0_カウント_テーブル2 UNION select * from Q0_カウント_テーブル3; 5:私の予想としてはこんな風↓↓出てくるはずだったのですが・・・ 品番のカウント| タイトル ------------------------------ 30 | テーブル1 20 | テーブル2 23 | テーブル3 6:結果は「From句の間違いです」と出ます。他の質問も見ましたが、自分のSQLのどこを直せば良いのかわかりません・・・教えてください!
- みんなの回答 (3)
- 専門家の回答
みんなの回答
- dr-9
- ベストアンサー率47% (24/51)
- nag0720
- ベストアンサー率58% (1093/1860)
「From句の間違いです」と出ているのなら、テーブル名が間違っている可能性はないですか? 集計クエリーでテーブルを作成してからユニオンクエリを実行しているのでしょうか。 ユニオンクエリの中でフィールド名を変えてやれば、1回のクエリだけでも可能です。 SELECT COUNT(製品名) AS "カウント", "テーブル1" AS タイトル FROM テーブル1 UNION SELECT COUNT(品番) AS "カウント", "テーブル2" AS タイトル FROM テーブル2 UNION SELECT COUNT(品番) AS "カウント", "テーブル3" AS タイトル FROM テーブル3
- dr-9
- ベストアンサー率47% (24/51)
ユニオンクエリでは、項目名が全て一致していなければなりませんが、そのあたりは問題ないですか?
補足
ご質問ありがとうございます。 3つの集計クエリ内には、項目は2つしかありません。「品番のカウント」と「タイトル」です。 質問に書きましたように、テーブル1のみキーになる項目の項目名が「品番」ではなく「製品名」なので、集計クエリーの時に項目名を「品番のカウント」と変えています。(わかりにくい説明ですね、申し訳ないです) 結果として見たいのは、非常にシンプルな形なのですが・・・ 品番のカウント| タイトル ------------------------------ 30 | テーブル1 20 | テーブル2 23 | テーブル3 こーゆーのです。↑ 何が間違ってるのかさっぱりわかりません・・・よろしければアドバイスお願いいたします。
補足
回答ありがとうございます。 >集計クエリーでテーブルを作成してからユニオンクエリを実行しているのでしょうか。 違います~。今気付いたのですが、私の書き間違いでした! 実際は、テーブル1~3まで、集計クエリーを3つ作って、最後にその3つのクエリーをユニオンクエリーでつないでいます。(最終的に4つクエリーを作っています) 何度も確認したのですが、テーブル名もSQLのスペルも間違っていないんです。どうしてもわからないので、本日は残業を切り上げ帰宅してしまいました。 でも、AS"カウント"を使うと出来そう・・・実はAS~を使うらしい?という説明も読んだのですが、PC用語は難しくて全然意味がわからなかったんです。 でも実際に項目名で教えていただいたので、なんか出来そうな気がしてきました! 明日会社に行ったら、早速試してみます!ありがとうございました!