テーブルとフィールド
クエリは仮想表ですので複数のテーブルから必要なフィールドを抜き出し、連結して表示させることができます。ただし連結する複数の表には
リレーションシップが設定されていなければなりません。
今回は以下の設定で2つのクエリを作成します。
受注Q
| フィールド名 | テーブル名 |
| 受注コード | 受注 |
| 受注日 | 受注 |
| 納品日 | 受注 |
| 得意先コード | 受注 |
| 得意先名 | 得意先 |
| 郵便番号 | 得意先 |
| 都道府県 | 得意先 |
| 住所 | 得意先 |
| 建物名 | 得意先 |
| 請求日 | 受注 |
| 入金日 | 受注 |
| 支払期限 | (演算) |
| |
受注明細Q
| フィールド名 | テーブル名 |
| 受注コード | 受注明細 |
| 商品コード | 受注明細 |
| 商品名 | 商品 |
| 単価 | 受注明細 |
| 数量 | 受注明細 |
| 消費税率 | 受注明細 |
| 金額 | (演算) |
| 消費税額 | (演算) |
|
表はどのフィールドをどのテーブルから持ってくるかを表しています。
テーブル名が "(演算)" となっているのは、テーブルのデータを表示させるのではなく、計算式で値を求めるという意味です。データベースでは計算式は
テーブルには入れず、クエリで指定することになっています。
またリレーションシップが結んである共通フィールドにおいては、かならず外部キーを指定してください(受注Qにおいて、共通フィールドである得意先コードは
主キーが設定されていない受注テーブルから持ってきています)。
クエリ名
今回、クエリ名には「受注Q」のように末尾に "Q" の文字を付けています。これはオブジェクトの種類がクエリであることがわかるようにつけたものですが
これは必須要件ではありません。 "Q" を付けなくても問題はありません。
ただし、テーブル、クエリを含めて同じ名前は付けられませんのでお気をつけください(テーブルにも「受注」があり、クエリにも「受注」があるというのは
認められません)。