プロが教える店舗&オフィスのセキュリティ対策術

access2000にて作業しています。
下記のようなテーブルが3つあります。

[納品T]
年月日|顧客番号|品名|数量
[品名マスタ]
顧客番号|品名
[顧客マスタ]
ID|顧客名

納品クエリを作り
デザイン画面で
[納品T]品名と[品名マスタ]品名を結び
[納品T]顧客番号[顧客マスタ]IDを結んで
クエリを表示すると、[納品T]のレコードより少なくなってしまします。
その原因は、別の顧客で品名が同一なものがあることが原因と思うのですが、[納品T]と納品クエリのレコード数を一致させるには、SQLはどのように書けばいいのでしょうか。

A 回答 (2件)

レコードが少なくなるということは


> 別の顧客で品名が同一なものがあることが原因
ではなく、
納品Tの品名に品名マスタにないものも含んでいる
もしくは納品Tの顧客番号に顧客マスタにないものを含んでいるのではないでしょうか?


SELECT 納品T.*
FROM 品名マスタ
RIGHT JOIN (顧客マスタ
RIGHT JOIN 納品T ON 顧客マスタ.ID = 納品T.顧客番号)
ON 品名マスタ.品名 = 納品T.品名;

これでどうでしょうか?
    • good
    • 0
この回答へのお礼

回答ありがとうございました。

未解決ですが、あまりに初心者のため、今後の課題にさせていただきます。

お礼日時:2003/10/31 13:56

No.1さんの回答されている通りなのですが、


デザイン画面上でこれを行うには、
テーブル同士を結んでいる線の上でマウスの
左ボタンをダブルクリックします。
すると、結合の仕方を選択する画面が現れますから、
「納品T」テーブルのすべてのデータを表示するよう
設定します。
    • good
    • 0
この回答へのお礼

回答ありがとうございました。

未解決ですが、あまりに初心者のため、今後の課題にさせていただきます。

お礼日時:2003/10/31 13:57

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

関連するカテゴリからQ&Aを探す