dポイントプレゼントキャンペーン実施中!

次のようなテーブル(T1~T4)とクエリ(Q1~Q2)があります。

クエリの表で囲っているものはAccessのQBEを表しています。
その下はAccessが自動生成したSQLです。

Accessがある場合はいいのですが、ない場合、いきなりSQLを
書かないといけないわけですが、どのような順番に並べていって
いいのか整理がつきません。

4つ以上になるとさっぱりです。

何かヒントをいただけませんでしょうか?


T1:売上表[売上No、日付、顧客CD]
T2:顧客表[顧客CD、顧客名]
T3:売上明細[ID、売上No、連番、商品CD、数量]
T4:商品表[商品CD、商品名、単価]


Q1:
┌────────────────┐
│日付 │ 商品名│単価 │数量 │
├────────────────│
│売上表│商品表│商品表│売上明細│
└────────────────┘
SELECT 売上表.日付, 商品表.商品名, 商品表.単価, 売上明細.数量
FROM 商品表 INNER JOIN (売上表 INNER JOIN 売上明細 ON 売上表.売上No = 売上明細.売上No) ON 商品表.商品CD = 売上明細.商品CD;


Q2:
┌────────────────────┐
│日付 │ 顧客名│商品名│単価 │数量 │
├────────────────────│
│売上表│顧客表│商品表│商品表│売上明細│
└────────────────────┘
SELECT 売上表.日付, 顧客表.顧客名, 商品表.商品名, 商品表.単価, 売上明細.数量
FROM (商品表 INNER JOIN (売上表 INNER JOIN 売上明細 ON 売上表.売上No = 売上明細.売上No) ON 商品表.商品CD = 売上明細.商品CD) INNER JOIN 顧客表 ON 売上表.顧客CD = 顧客表.顧客CD;

A 回答 (1件)

>Accessがある場合はいいのですが、ない場合、いきなりSQLを


>書かないといけないわけですが、どのような順番に並べていって
>いいのか整理がつきません。

内部結合(inner-join)であるならば、どのような順番で書いても
問題なしです。結合条件だけ気を付ければ良いかと思います。
(外部結合(outer-join)に関しては、順番に意味がありますが..)

この回答への補足

>どのような順番で書いても問題なしです。

ということなのですが、最低限のルールがあると思うのですが・・・

いきなりSQL文を書く場合、通常、どこに注目指定雲のでしょうか?

補足日時:2005/06/27 19:04
    • good
    • 0

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