|
|
 |
課題
Access
内部結合以外の結合方法 |
|
1.データベースのコピー
使用するデータベースは前回の課題と同じものを使用します。
まだダウンロードしていない人は次のファイルをダウンロードして適当なディレクトリに解凍して下さい。
「売上情報.mdb」 (kd020301.lzh 37KB)
テーブルの詳細は前回の課題を参照して下さい。
|
| |
2.クエリーの作成1
社員全員の「上司」の一覧を表示するクエリー「担当者上司一覧」を作成しなさい。
(表示する項目名は「No」、「担当者」、「上司No」、「上司氏名」とすること。)
---> 「社員」テーブル同士の結合。
---> 上司のいない人も表示すること。
注) 1の結果の解答は次の通り。項目名、値、属性をチェックすること。
| No |
担当者支店名 |
上司No |
上司氏名 |
| 1 | 鈴木 | 1 | 鈴木 |
| 2 | 佐藤 | 1 | 鈴木 |
| 3 | 山田 | 3 | 山田 |
| 4 | 河合 | 3 | 山田 |
| 5 | 森山 | | |
| 6 | 木下 | 5 | 森山 |
|
| |
3.クエリーの作成2
社員全員の2人対戦の組合せ一覧表を表示するクエリー「2人対戦一覧」を作成しなさい。
「対戦」というフィールドに"氏名 vs 氏名"の形として表現すること。
但し、自分同士("A vs A")は除き、対戦逆表示("A vs B"と"B vs A")は同一レコードとして、どちらか一方を表示すること。
(表示する項目名は「対戦」とすること。)
---> 「社員」テーブル同士を直積する。 まずは両「氏名」を表示して確認する。
---> 文字列の結合は'&'を使用し、同一項目名にはテーブル名を付加する。
[テーブル名]![項目名] & "付加する文字列"
---> 片側の氏名に抽出条件を入れ、自分同士、対戦逆表示を防ぐ。
---> 並び替えに注意すること。
注) 3の結果の解答は次の通り。項目名、値、属性をチェックすること。
| 対戦 |
| 鈴木 vs 木下 |
| 鈴木 vs 森山 |
| 鈴木 vs 山田 |
| 鈴木 vs 佐藤 |
| 鈴木 vs 河合 |
| 木下 vs 森山 |
| 木下 vs 山田 |
| 木下 vs 佐藤 |
| 木下 vs 河合 |
| 森山 vs 山田 |
| 森山 vs 佐藤 |
| 森山 vs 河合 |
| 山田 vs 佐藤 |
| 山田 vs 河合 |
| 佐藤 vs 河合 |
|
|
|