Accessでデータテーブルとマスタを結合する方法とは?

このQ&Aのポイント
  • Windows2000+Accessでシステムを組んでいますが、テーブル2つを結合させる際に区分が「1」のデータの金額を合計したいです。
  • 望ましい結果は、地域名と金額のリストであり、マスタのデータとデータテーブルの「1」の区分のみを結合させたいです。
  • 具体的には、大阪と福岡の地域について金額を合計した結果を得たいです。どなたか一つのクエリで実現する方法を教えてください。
回答を見る
  • ベストアンサー

【Access】外部結合を行う前に抽出条件をつけたいのですが。。。

こんにちは。困っているので助けて頂きたいです。 Windows2000+Accessでシステムを組んでいます。 多分、とても基礎的な事だと思うのですが、行き詰まっております。 テーブル2つを結合させようとしています。 <データテーブル> 区分 金額 地域名 1   3000 1 1   3000 1 1   3000 3 2   3000 3 2   3000 1 <マスタ> 地域   地域名 1     大阪 2     京都 3     福岡 この2つのテーブルから、 マスタのデータ全部と、 データテーブルの中で区分が「1」のデータだけを結合させて、 金額を合計したいのです。 望んでいる結果は 地域   地域名  金額 1     大阪   6000 2     京都   0 3     福岡   3000 です。 クエリを二つ作成すればできるのでしょうが、諸処の事情で、どうしても一つのクエリでやってしまいたいのです。 拙い説明で申し訳ないのですが、 どなたかお知恵をお貸し頂きたく、宜しくお願い致します。

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

  • ベストアンサー
noname#4564
noname#4564
回答No.2

  ※ エイリアスは適宜変更すること。 SELECT マスタ.地域, マスタ.地域名, Sum(nz([金額明細])) AS 金額 FROM マスタ LEFT JOIN [SELECT 区分, 金額 As 金額明細, 地域名 FROM データテーブル WHERE 区分 = 1]. qry ON マスタ.地域 = qry.地域名 GROUP BY マスタ.地域, マスタ.地域名;  

fukuran
質問者

お礼

できましたー! これはサブクエリというのを使ってるんですよね? どれがどういう意味を持っているのか、 これからじっくり調べてみます。 本当にありがとうございました! m(_ _)m

その他の回答 (1)

  • PAPA0427
  • ベストアンサー率22% (559/2488)
回答No.1

まず、2つの表を結合したクエリを作ります。 結合条件で、データテーブルの地域名とマスタテーブルの地域を結合します。表示にマスタの「地域」、「地域名」を、データテーブルの「金額」を表示エリアに落とします。 まだ、終わりじゃありません。 それから、メニューの上の方に「Σ」ボタンがありますので、押してください。 「地域」はグループ化、「地域名」はグループ化を設定し、データテーブルの「金額」は合計にします。 通常のクエリなら、これでいかがでしょう。

fukuran
質問者

お礼

早速のご回答ありがとうございます。 これだと 区分が「1」のデータだけを・・・ というところがうまくいかないようです。 なにか方法がありますでしょうか?

関連するQ&A

  • Accessの外部結合プロパティについて

    windows2000の環境で、Access2000を使用しています。 中古車在庫管理というデータベースを作成するという問題集をといています。 在庫マスターと商談リストという2つのテーブルがあります。 2つのテーブルは在庫NOで結合されています。 ”1度も商談にあがっていない在庫を抽出できるようにクエリーを作成する。と いう問題をといています。不一致クエリーウィザードで作成すれば、商談にあ がっていない、在庫だけを抽出することができましたが、 外部結合プロパティで実行すると、商談にあがったものと、あたっていないも の両方が抽出されてしまいます。 ちなみに、結合プロパティダイアログで、3つ選択肢があるなかの、”2.在 庫マスターの全レコードと商談リストの同じ結合フィールドのレコードだけを 含める”を選択しました。 外部結合プロパティで不一致クエリーウィザードと同じ結果を得ることはでき ないのでしょうか? どなたかご存知の方教えてください。

  • ACCESS 選択クエリでの抽出条件について

    在庫マスターと得意先マスターのテーブルを使用して 在庫マスターのデータを抽出条件により出力したいと思っています。 在庫マスターは区分コード1の倉庫コードと区分コード3の店舗コードと分かれており、 抽出条件は区分コード1の時は倉庫コード199と155は除きます。 区分コード2の時は得意先マスターの形態コードから"1"と"2"のものを抽出します。 デザインビューでクエリ作成するで選択クエリから抽出条件を入力してデータを出力できないのでしょうか。 色々と試していますがエラーが表示され出力できません。 例) If([ST_WHTYPE]="1",([dbo_STOCK].[ST_WHNO]) Not In ("199","155"), IIf([ST_WHTYPE]="3",[CU_SHOPTYPE]="1" Or [CU_SHOPTYPE]="2")) この場合は集計関数・・・・・含んでないクエリーを実行しましたと表示されます。 他には複雑すぎるため評価できませんとかエラーが表示されます。 選択クエリでの抽出条件ではできないのでしょうか。

  • ACCESSでの異なる条件での抽出と合計について

    ACCESS2000にて現在、元となる勤怠データから社員別日別に訪問時間や移動時間、業務時間等を算出していております。その中でテーブルからそれぞれ異なる条件で抽出したフィールドの合計値の表示させ方をお教え願います。 具体的には下記に元データと作成したいデータのレイアウト図を記載します。 (元データ) 社員コード| 日付 |区分|勤務時間|移動時間|合計時間|業務のカウント|訪問のカウント|開始時間 =============================================================================== |1111111 |2013/10/01 |業務| 400 | 120 | 520 | 1 | 0 | 08:00 |1111111 |2013/10/01 |訪問| 400 | 100 | 500 | 0 | 1 | 09:00 |1111111 |2013/10/02 |訪問| 300 | 200 | 500 | 0 | 1 | 09:00 |1111111 |2013/10/03 |業務| 200 | 200 | 400 | 1 | 0 | 08:00 (作成したいデータ) 社員コード| 日付 |勤務時間|移動時間|合計時間|業務のカウント|訪問のカウント|開始時間 =============================================================================== |1111111 |2013/10/01 | 800 | 220 | 1020 | 1 | 1 | 08:00 |1111111 |2013/10/02 | 300 | 200 | 500 | 0 | 1 | 09:00 |1111111 |2013/10/03 | 200 | 200 | 400 | 1 | 0 | 08:00 ちなみに ”開始時間” は 「区分」フィールドの値が ”業務”の時の開始時間と ”訪問”の時の開始時間を比べて時間が早い方を表示させます。 上記でネックなのは 日によって 「区分」フィールドが ”訪問” の場合のみも有り、尚且つ ”業務” の場合のみも有り、更に ”訪問”、”業務”両方が入っている場合もあり、ただ単純に ”業務”のみ と ”訪問”のみのデータをクエリで分けて 結合させると言う訳には行かないところです。 お手数ですが何卒よろしくお願い致します。 |

  • アクセスの抽出条件

    クエリの抽出条件の入れ方 3年分のデータが「年月日」でテーブルがあります。 それを 抽出時に、年月で合計で出したい場合は 抽出条件をどのように入れればよかったか、忘れてしまいました。 基本的な事ですいませんが、誰か教えてください。

  • MSアクセスでフォームからテーブル結合させたい

    製品マスタデータテーブルとオーダーテーブルがあります。 クエリで2つのテーブルを結合し表示させるのは簡単なのですが、 個々の注文データをフォームから作成するやり方がわかりません。 品番が共通項になっていて、フォームに品番を入力すると、製品マスターテーブルを参照して対応する品名や寸法を表示させたいのです。どこをどうすればよいのでしょうか?クエリにおける INNER JOINをイメージしています。 その後、その他もろもろの注文データに必要な項目を入力し、保存させればおしまいです。 クエリをベースにフォームを作成しましたが、それではフォームからの変更や追加ができません。 よろしくお願いします。

  • アクセスの抽出について

    アクセス超初心者です。仕事で営業成績の集計をしています。営業担当者ごとの管理の仕方で困っています。 基本のtblは担当者名、日時、区分(aまたはbを選択)、営業内容(項目1~6の中から1つを選択する形式)、受注数、成約数で構成されているものです。  月別で、営業内容の項目1を除いたものの集計で、aの件数、bの件数、aとbの合計、営業内容の項目3の件数、受注数の合計、成約数の合計を出したいのです。  一度で出せるクエリの作り方があれば教えていただきたいです。本当に基礎知識しかありません。  一度で出なければどんなテーブルやクエリが必要か教えてください。

  • Access 結合プロパティについて

    Access2010ですが、クエリの結合プロパティについて教えて下さい。 【テーブルA】 1 A1 2 A2 3 A3 【テーブルB】 2 B2 3 B3 4 B4 と言うテーブルから 【結合クエリ】 1 A1 2 A2 B2 3 A3 B3 4 B4 を作りたいです。 ところが、結合プロパティでは、 ・テーブルAのレコードを全部 ・テーブルBのレコードを全部 と言うのは選べるのですが、 両方のテーブルいずれかにあればデータを持ってくる と言う設定が分かりません。 すみません。どなたか教えて下さい。 よろしくお願いいたします。

  • access クエリにて在庫数を出したい

    お世話になります。 accessにて在庫管理DBを構築しています。 在庫数を出そうとすると、「あいまいな外部結合が含まれているので、SQLステートメントを実行できません。 いずれかの結合を最初に実行するために、第1次結合を実行する分割クエリを作成し、 SQLステートメントにそのクエリを含めてください。」とエラーが出てしまいます。 なにぶん初心者の為、ちんぷんかんぷんです。 ご教授の程よろしくお願い致します。 t_薬剤マスター 薬剤区分ID、薬剤名、包装内容、包装量、単位、薬価 t_店舗 店舗ID、店舗名 q_入庫数の合計 店舗ID、店舗名、薬剤ID、薬剤名、入庫数の合計、小分入庫数の合計、入庫総合計 q_出庫 店舗ID、店舗名、薬剤ID、薬剤名、出庫数の合計 q_在庫 在庫ID、店舗ID、店舗名、薬剤ID、薬剤名、在庫数 とあります。 t_薬剤マスターとt_店舗から、 それぞれのクエリ、(q_入庫、q_出庫、q_在庫)に 「't_薬剤マスター'の全レコードと'q_入庫'の同じ結合フィールドのレコードだけを 含める。」結合を設定しました。 そして下記の様にクエリを作成 フィールド 店舗ID  店舗名    薬剤ID       薬剤名 ____________________________ テーブル t_店舗  t_店舗     t_薬剤マスター  t_薬剤マスター フィールド 在庫数   入庫総合計     出庫数の合計       ____________________________ テーブル q_在庫マスター q_入庫数総合計  q_出庫数合計        フィールド  在庫数: [在庫数]+[入庫総合計]-[出庫数の合計]    ____________________________ テーブル  と作成しました。。。。が実行するとエラーメッセージが出てきてしまいます。 これは結合が悪いと言う事でしょうか? よろしくお願い致しますm(__)m

  • LEFT JOIN あいまいな外部結合

    Access2000でクエリを作成します。 SQLで SELECT お支払.ID_支払, お支払.N_伝票No, お支払.N_支払金額, お支払.N_支払区分コード FROM 伝票 LEFT JOIN (支払区分マスター INNER JOIN お支払 ON 支払区分マスター.N_支払区分コード = お支払.N_支払区分コード) ON 伝票.N_伝票No = お支払.N_伝票No; とすると あいまいな外部結合が含まれている・・というエラーがでてしまいます。どうしたらいいでしょうか。 伝票は全て表示して、その中のお支払には、区分コードを割り当てたいだけなのですが。 宜しくお願い致します。

  • Accessクエリでの、LIKE条件

    お世話になっております。 早速質問ですが、 Aテーブル CD 名称 1  大阪府 2  京都府 Bテーブル 名称 大阪市伊丹区 京都府京都市 京都府宇治市 とデータがあったとします。 Aテーブルの名称フィールドとBテーブルの名称を照らし合わし、 Bテーブル名称一部とAテーブルの名称が合致していたるデータを、AテーブルのCDをつけて表示したいのです。 結果↓ CD 名称 1  大阪市伊丹区 2  京都府京都市 2  京都府宇治市 こういう事はクエリでできますか? 有識者の方ご教授お願い致します。

専門家に質問してみよう