この人頭いいなと思ったエピソード

こんにちは。困っているので助けて頂きたいです。

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

です。

クエリを二つ作成すればできるのでしょうが、諸処の事情で、どうしても一つのクエリでやってしまいたいのです。

拙い説明で申し訳ないのですが、
どなたかお知恵をお貸し頂きたく、宜しくお願い致します。

A 回答 (2件)

 


※ エイリアスは適宜変更すること。

SELECT
マスタ.地域,
マスタ.地域名,
Sum(nz([金額明細])) AS 金額
FROM
マスタ
LEFT JOIN
[SELECT
区分,
金額 As 金額明細,
地域名
FROM
データテーブル
WHERE
区分 = 1]. qry
ON
マスタ.地域 = qry.地域名
GROUP BY
マスタ.地域, マスタ.地域名;
 
    • good
    • 0
この回答へのお礼

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

お礼日時:2003/05/07 20:28

まず、2つの表を結合したクエリを作ります。



結合条件で、データテーブルの地域名とマスタテーブルの地域を結合します。表示にマスタの「地域」、「地域名」を、データテーブルの「金額」を表示エリアに落とします。

まだ、終わりじゃありません。

それから、メニューの上の方に「Σ」ボタンがありますので、押してください。

「地域」はグループ化、「地域名」はグループ化を設定し、データテーブルの「金額」は合計にします。

通常のクエリなら、これでいかがでしょう。
    • good
    • 0
この回答へのお礼

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

お礼日時:2003/05/07 20:07

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


おすすめ情報

このQ&Aを見た人がよく見るQ&A