• ベストアンサー

クエリ上でフィールド名が2つあるときの見分け方

初心者です。 テーブルを複数使って、クエリを作っているのですが、 『&』でフィールドをつなごうとしたとき、 「指定されたフィールド'[会員種別ID]'がSQLステートメントのFROM句にある複数のテーブルを参照しました」 と言うエラーが出てきます。 多分これは、T_顧客リストとT_会員種別の両方に[会員種別ID]があるので区別がつかないと言う事だと思います。 (間違っていたら正しい意味を教えていただけますか?) だから、どうしたら区別できるのでしょうか?

  • Yuuho
  • お礼率54% (434/803)

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

[T_顧客リスト]. [T_会員種別]. のように、会員種別IDの前にテーブル名とドットをつけてみてください。 エラーの原因はご推察どおり、[会員種別ID]と指定しただけでは どちらのテーブルの会員種別IDの事か判別できないためです。

Yuuho
質問者

お礼

ありがとうございます。 出来ました。

関連するQ&A

  • 指定されたフィールド SQLステートメントのFRO

    指定されたフィールド SQLステートメントのFROM句にある複数のテーブルを参照しました というエラーで困っています 会社で使っているアクセスのクエリにT0501テーブルを追加しましたらエラーが出ました どちら様か お助け下さい。 環境 Windows10/Office2019

  • access 簡単な関数

    access2007で売上管理を作ろうと始めたのですが、クエリで金額:[単価]*[数量]と入れると 指定されたフィールド’○○○’がSQLステートメントのFROM句にある複数のテーブルを参照しました とエラーになってしまいます 在庫のテーブルの[数量]の名前を変えて解決はしたのですが、 テキストを買ってきてそれをその通りにしたのになぜできないのか ヘルプを見てもよくわからないので、気が向いたらどなたか回答お願いします

  • アクセスのクエリの並び替えについて

    売上の前年比の表を作っています。 店名 今年度  前年度  前年比:[今年度] / [前年度] というクエリを作っています。 今年度と前年度はいくつかのデータを合計した値が入っています。 *例えば今年度は4月から8月までの合計売上です。 このクエリを前年比の高い順に並べ替えたいのですが、 前年比の並べ替えを降順にして実行しようとすると、 『指定されたフィールド'[今年度]'がSQLステートメントの FROM句にある複数のテーブルを参照しました』 というメッセージが出てしまいうまく行きません。 このクエリでは並べ替えをせずに、別のクエリをつくり、 前年比を式ではない状態で並べ替えてあげればうまく行くのですが、 あまりにも無駄な作業だと思うので・・・。 どなたか解消方法を教えてください。 よろしくお願い致します。

  • アクセス2000の初歩的な質問ですが。

    今、本を見ながらアクセスで売上管理のデータを作り始めたばかりで、アクセスに関する知識が乏しいのでおしえてください。クエリの中で「金額」の演算フィールドに金額:[単価]*[数量]と入力した場合、「指定されたフィールド”[単価]”がSQLステートメントのFROM句にある複数のテーブルを参照しました。と、エラーになってしまいます。まだまだ初歩の段階で、これが何を指しているのかわからないんです。どうか解る方、知識をお貸し下さい。宜しくお願いいたします。

  • Accessのクエリ作成について

    クエリを作成する際の、テーブルの設定の仕方がよくわかりません。 たとえば、「顧客リスト」テーブルと「販売履歴」テーブルに、それぞれ「顧客ID」フィールドがあり、「顧客ID」フィールドがリレーションシップで設定されているとします。 新たに、選択クエリを作成し、そのクエリに、「顧客ID」フィールドを設定するときに、どちらのテーブルの「顧客ID」フィールドを設定するかがわかりません。 ちなみに顧客IDフィールドには、リレーションシップを設定していて、1対多の設定をしています。 「顧客リスト」テーブルの「顧客ID」フィールドが、「1」の側で、 「販売履歴」テーブルの「顧客ID」フィールドが「多」の側です。 どちらのテーブルを使用しても結果は同じなのですが、 選択クエリを作成するときに、上記のように、同じフィールドを持テーブルが2つありリレーションシップを 設定している場合は、どちらのテーブルを使わないといけないというような決まりはあるのでしょうか? どちらを使用しても構わないのでしょうか。 特に、決まりがない場合は、一般的には、どのように設定されているのでしょうか?

  • Accessのクエリ作成について

    クエリを作成する際の、テーブルの設定の仕方がよくわかりません。 たとえば、「顧客リスト」テーブルと「販売履歴」テーブルに、それぞれ「顧客ID」フィールドがあり、「顧客ID」フィールドがリレーションシップで設定されているとします。 新たに、選択クエリを作成し、そのクエリに、「顧客ID」フィールドを設定するときに、どちらのテーブルの「顧客ID」フィールドを設定するかがわかりません。 ちなみに顧客IDフィールドには、リレーションシップを設定していて、1対多の設定をしています。 「顧客リスト」テーブルの「顧客ID」フィールドが、「1」の側で、 「販売履歴」テーブルの「顧客ID」フィールドが「多」の側です。 どちらのテーブルを使用しても結果は同じなのですが、 選択クエリを作成するときに、上記のように、同じフィールドを持テーブルが2つありリレーションシップを 設定している場合は、どちらのテーブルを使わないといけないというような決まりはあるのでしょうか? どちらを使用しても構わないのでしょうか。 特に、決まりがない場合は、一般的には、どのように設定されているのでしょうか?

  • 【Access】2つのクエリを1つにまとめる方法

    下記のT_Subテーブルでmain_idフィールド毎のdayフィールドの最大値のレコードを取得し、 取得したレコードの中でT_Mainのidフィールドに存在するもののみを表示したいと思い、 下記のQ_T_Sub_SelectクエリとQ_Ansクエリを作成し、 Q_Ansクエリを実行する事で意図した動作になったと思います。 その後、この2つのクエリを1つのクエリにまとめようと思ったのですが、 どのように記述すれば良いか分からなかった為、アドバイスいただける方がいらっしゃいましたら、 ご教示の程よろしくお願いします。 【Q_T_Sub_Selectクエリ】 SELECT T_Sub.* FROM T_Sub WHERE (((T_Sub.id)=(SELECT TOP 1 id FROM T_Sub Q WHERE Q.main_id = T_Sub.main_id ORDER BY day DESC, id DESC ))); 【Q_Ansクエリ】 SELECT T_Main.id, T_Main.field1, Q_T_Sub_Select.id, Q_T_Sub_Select.day, Q_T_Sub_Select.field2 FROM T_Main LEFT JOIN Q_T_Sub_Select ON T_Main.id = Q_T_Sub_Select.main_id; 【Q_Ansクエリの実行結果】 T_Main.id|field1|Q_T_Sub_Select.id|day|field2 1|A|2|     |2000 3|C|6|2011/03/10|200 【テーブル(T_Main)】 id|field1 1|A 3|C 【テーブル(T_Sub)】 id|main_id|day|field2 1|1|     |100 2|1|     |2000 3|2|2011/03/04|400 4|2|2011/03/03|500 5|3|2011/03/10|300 6|3|2011/03/10|200 なお、1つのクエリにまとめたい理由ですが、最終的にはクエリではなく、 Visual Basic上に記述を移植したいと思っているためです。 ちなみに、1つのクエリをVisual Basic上に移植して SQLの実行結果を利用するイメージは何となく分かるため、 2つのクエリを1つにまとめる方法を希望しましたが、 2つのSQL文があってもクエリなどを使用せず、 Visual Basic上への記述のみで動作する方法があれば、そのような方法でも大丈夫です。 以上、よろしくお願いします。

  • Accessクエリのフィールドについて

    クエリの作成で、2つのテーブルからフィールドに追加する時ですが、 会員IDなど 一側にも多側にも両方ある場合、解説書などを見ると、 「必ず、多側テーブルのフィールド(主キー設定されていない方のフィールド)を追加するように」と書かれているのですが、その理由がわかりません。 どちらからとっても結果は同じように思うのですが。。。ご存知の方いらっしゃったらよろしくお願いいたします。

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

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

  • ACCESSクエリエラー

    ACCESSにてクエリをSQLビューにて直書きにて作成したところ、 『メインクエリのFROM句の予約語EXISTS を使用しないフィールドを複数返すサブクエリを 作成しました。サブクエリの SELECT ステートメントを変更し1つのフィールドだけを指定してください』 と、エラー表示がされました。 クエリは INSERT INTO 売上管理TBL VALUES ( SELECT  date() , 商品名称TBL.ID , 商品名称TBL.個数 , 商品名称TBL.単価 * 商品名称TBL.個数 AS 金額 FROM 商品名称TBL WHERE 商品名称TBL.個数 > 0 ); になっています。

専門家に質問してみよう