• 締切済み

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のどこを直せば良いのかわかりません・・・教えてください!

noname#118698
noname#118698

みんなの回答

  • dr-9
  • ベストアンサー率47% (24/51)
回答No.3

基本に立ち返って、「From句の間違いです」のメッセージから、くどいですが、本当にテーブル・クエリ名の指定は間違いないですよね。(例えば「ー(長音)」等) 日本語(全角)の名前を使用すると誤りに気が付き難いです。 個人としては、全角の名前が使えないフリーのDBも存在するので、全角を名前に使うのを控えてます。

  • nag0720
  • ベストアンサー率58% (1093/1860)
回答No.2

「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

noname#118698
質問者

補足

回答ありがとうございます。 >集計クエリーでテーブルを作成してからユニオンクエリを実行しているのでしょうか。 違います~。今気付いたのですが、私の書き間違いでした! 実際は、テーブル1~3まで、集計クエリーを3つ作って、最後にその3つのクエリーをユニオンクエリーでつないでいます。(最終的に4つクエリーを作っています) 何度も確認したのですが、テーブル名もSQLのスペルも間違っていないんです。どうしてもわからないので、本日は残業を切り上げ帰宅してしまいました。 でも、AS"カウント"を使うと出来そう・・・実はAS~を使うらしい?という説明も読んだのですが、PC用語は難しくて全然意味がわからなかったんです。 でも実際に項目名で教えていただいたので、なんか出来そうな気がしてきました! 明日会社に行ったら、早速試してみます!ありがとうございました!

  • dr-9
  • ベストアンサー率47% (24/51)
回答No.1

ユニオンクエリでは、項目名が全て一致していなければなりませんが、そのあたりは問題ないですか?

noname#118698
質問者

補足

ご質問ありがとうございます。 3つの集計クエリ内には、項目は2つしかありません。「品番のカウント」と「タイトル」です。 質問に書きましたように、テーブル1のみキーになる項目の項目名が「品番」ではなく「製品名」なので、集計クエリーの時に項目名を「品番のカウント」と変えています。(わかりにくい説明ですね、申し訳ないです) 結果として見たいのは、非常にシンプルな形なのですが・・・     品番のカウント| タイトル     ------------------------------        30   | テーブル1        20   | テーブル2        23   | テーブル3  こーゆーのです。↑ 何が間違ってるのかさっぱりわかりません・・・よろしければアドバイスお願いいたします。

関連するQ&A

  • ユニオンクエリでWHERE句を使うのは不可能でしょうか?

    アクセス2003です。 (select * from Q1) UNION ALL (select * from Q2) UNION ALL (select * from Q3); WHERE (((番号) Like "*001")); としても 「SQLステートメントの後に文字が見つかりました。」 となってしまいます。 「番号」と言うフィールドは Q1、Q2、Q3どのクエリにもあり (select * from Q1) UNION ALL (select * from Q2) UNION ALL (select * from Q3); のみなら正常に動作します。 作成したユニオンクエリで「フィルタの対象」で「*001」と入力したらちゃんと思い通りに動作します。 ユニオンクエリで条件抽出は不可能でしょうか? よろしくお願いします。

  • ユニオンクエリで0と表示される。

    教えてください。 4つのテーブルをユニオンクエリでひとつにしたく以下のようにSQLに書きました。 SELECT ID AS フィールド1 ,No AS フィールド2, Remark AS フィールド3 FROM テーブル1 UNION ALL SELECT ID,No,Remark FROM テーブル2 UNION ALL SELECT ID,No,Remark FROM テーブル3 UNION ALL SELECT ID,No,Remark FROM テーブル4 フィールド2のNOには数字が入っているのですがフィールド2の列にはすべて0と表示されて数字がででてきません。ID(オートナンバー型)とRemark(短いテキスト型)はちゃんと表示されます。もとのテーブル1と2のNoは数値型 テーブル3と4のNoは短いテキスト型です。なにが原因でどうしたら数値が表示されるようになりますか?

  • Access ユニオンクエリについて・・・・

    顧客管理作成中です。 テーブル:顧客dataの項目(フィールド名)に 顧客名をはじめとして、 入金予定日,入金予定額,入金日,入金額,クレジット入金日,クレジット入金額とあります。 それぞれ、日付が違うのですが、日々の流れをチェックできるよう、 日付でまとめたいのです(日々の金額は日計) 希望の形は 日付 入金予定額   入金額   クレジット入金額 11/1  11/2 11/3   ・   ・   ・ _____________________ 月合計 _____________________ 全体合計 まず、グループ化したクエリを3つ作り、その後 ユニオンクエリを作って見ましたが、合計の作り方がわかりません。 ★作成状況★ ■グループ化した3つのクエリを作成 (1)Q名・支払予定金額(入金予定日,入金予定額の合計) (2)Q名・入金     (入金日,入金額の合計) (3)Q名・クレジット   (クレジット入金日,クレジット入金額の合計) ■ユニオンクエリ SELECT 日付,支払予定金額の合計,0 as 金額の合計,0 as クレジット入金額の合計 FROM 支払予定金額 UNION SELECT 日付,0 as 支払予定金額の合計,金額の合計,0 as クレジット入金額の合計 FROM 入金 UNION SELECT 日付,0 as 支払予定金額の合計,0 as 金額の合計,クレジット入金額の合計 FROM クレジット; はじめて、ユニオンクエリを使ったので、わからないことだらけです。。。 どなたか手を貸してください(-"-;) 宜しくお願いいたします

  • ACCESS2000 ユニオンクエリーで、同一データについて

    こんにちは。 ACCESS2000で、超初心者から初心者に脱皮中です。 倉庫管理の仕事をしています。 各地の倉庫から在庫データを提出してもらい、データ管理を行っています。 データの内容は 倉庫番号, 品番, 品名, 区分, 数量 です。 一括管理のために、各倉庫のデータをユニオンクエリーでつなぎます。 SELECT 倉庫番号, 品番, 品名, 区分, 数量 FROM 倉庫1 UNION SELECT 倉庫番号, 品番, 品名, 区分, 数量 FROM 倉庫2 … UNION SELECT 倉庫番号, 品番, 品名, 区分, 数量 FROM 倉庫7; この中に、たまたますべてのデータが同一のデータが存在しました。 倉庫7,A00,食器洗剤,破損品,1 倉庫7,A00,食器洗剤,破損品,1 要するに、同じ倉庫に同じものが、同じ状態で同じ数量あったということです。 ユニオンクエリーの結果は、この片方しか表示してくれないのです。 同一データであっても並べて表示し、あとでクロス集計等をしたときに、数量2 と表示したいのですが、知恵をお貸しください。 ちなみにすべてのテーブルに、主キー等は設定していません。

  • ユニオンクエリをデザインビューで開くには?

    アクセス2010です。 T_テーブル1とT_テーブル2があり、 どちらもフィールド1に文字が入っています。(テキスト型です) クエリのSQLビューで SELECT * FROM T_テーブル1 UNION ALL SELECT * FROM T_テーブル2; として保存したらユニオンクエリが出来上がったのですが、 これをクエリのデザインビューで見るにはどうすればいいですか? 以前のバージョンならユニオンクエリをデザインビューで見れました。 でもやり方を忘れました。 該当のクエリをアクティブにしてデザインビューを選択しても SQLビューで開いてしまいます。

  • ユニオンクエリの保存方法

    SELECT * FROM 西クエリ UNION ALL SELECT * FROM 神戸クエリ; UNION ALL SELECT * FROM 東クエリ; UNION ALL SELECT * FROM 戸西クエリ; UNION ALL SELECT * FROM 西クエリ; UNION ALL SELECT * FROM 宮北クエリ; UNION ALL SELECT * FROM 尼クエリ; UNION ALL SELECT * FROM 馬クエリ; 以上のユニオンクエリを組みました これを ファイル名"森本"エクセルに保存したいのですが  命令文を指導願います

  • アクセスクエリ メモ型だとエラーになる

    アクセスのテーブル1(主キーなし)に *********************************************************** フィールド1(メモ型) あああ いいい ううう いいい *********************************************************** と言うデータがあるのですが 「あああ」「ううう」は1個で「いいい」は2つあります。 これを、クエリ1で *********************************************************** SELECT テーブル1.フィールド1, Count(テーブル1.フィールド1) AS フィールド1のカウント FROM テーブル1 GROUP BY テーブル1.フィールド1; *********************************************************** と作り、 新しいクエリで *********************************************************** SELECT テーブル1.フィールド1, クエリ1.フィールド1のカウント FROM テーブル1 INNER JOIN クエリ1 ON テーブル1.フィールド1 = クエリ1.フィールド1; *********************************************************** としたいのですが、 メモ型ではダメなのでしょうか? メモ型でフィールドを宣言しつつ、 このようなクエリを作るにはどうすればいいですか? テキスト型にすると問題なくいけます。

  • Accessのユニオンクエリーで3つのクエリを集計

    Accessのユニオンクエリーで3つのクエリを集計したいのですが Aクエリ 氏名  役員名  就任月  任期 山田   会長   24    1 田中  副会長   24    1 Bクエリ 氏名  役員名  就任月  任期 山田  副会長   12    0 田中   理事   24    1 Cクエリ 氏名  役員名  就任月  任期 山田   会長    24    1 田中  副会長   24    1 結果 氏名  役員名  就任月  任期 山田   会長    48    2 山田  副会長   12    0 田中  副会長   48    2 田中   理事   24    1 このような結果を得ることは出来ますでしょうか? SELECT [氏名], [役員名],[就任月],[任期] FROM [Aクエリ名] UNION SELECT [氏名], [役名],[就任月],[任期] FROM [Bクエリ名] UNION SELECT [氏名], [役名],[就任月],[任期] FROM [Cクエリ名]; このように記述すると 氏名  役員名  就任月  任期 山田   会長   24    1 山田  副会長   12    0 山田   会長   24    1 田中  副会長   24    1 田中   理事   24    1 田中  副会長   24    1 このような結果になってしまうのですが・・

  • ユニオンクエリで期間指定抽出のSQL記述について

    いつもお世話になっております。 Access 2007で、「人名集計」テーブルと「資料送付」テーブルがあり、それぞれ、同一のフィールド名でテーブルが作成されております。 これを「発送日」フィールドの昇順で並べ替えながら結合するユニオンクエリを作成しました。 SELECT * FROM 人名集計 UNION ALL SELECT * FROM 資料送付 ORDER BY 発送日; とりあえず、上記のSQLでは動いていますが、このSQLに、 「発送日」の期間を指定して、抽出条件(パラメータ)を加えようとしていますが、うまくいきません。 WHERE句を使って、Between 「最初の日付を入力」 And 「最後の日付を入力」 のような文を SQLの何処にどのように記述すればよいのか、教えてください。 宜しくお願い申し上げます。

  • Accessのクエリで2

    お伺い致します。 テーブル名:テーブルA  フィールド:月日,販売先,品番 テーブル名:テーブル期間  フィールド:分類、始月日、終月日 テーブル名:材料テーブル  フィールド:品番,材料1,材料2, 分類 の3テーブルが有り ”テーブルA”の月日の違いで”テーブル期間”の分類を表示させた後 現在品番と分類で材料1、材料2の使用量をクエリで以下のように表示 クエリ名:Q_テーブルA 月日,販売先,品番, 材料1, 材料2 0501,東京販売,18-18, 270, 180...材料の使用量は月日と品番で決まる、 1105,仙台販売,18-21, 290, 190 0801,大阪販売,21-21, 300, 190 0907,東京販売,27-18, 350, 175  ここでお伺いしたい事は 材料テーブルの事ですが実際は品番が30種類、材料が10種類の300データに及び それに期間による材料テーブル1と2の2種類あります 各々の表はエクセルで計算させインポートさせた後ユニオンクエリで一緒にし テーブル作成クエリで”材料テーブル”を作成するという事をしていますが。 そのまま、テーブル1とテーブル2を月日の違いによる分類1,2でスイッチさせて クエリ”Q_テーブルA”を作成する方法が有りませんでしょうか 簡単に出来ると思いつつも良い方法が浮かばず回り道しています。 よろしくお願い致します。

専門家に質問してみよう