トップページへ PASSJ ブログへ
トップページへ
分科会
特集!
コミュニケーション
資格
セミナー・コンファレンス
インフォメーション
4. 自己結合を利用したビュー表

図13:生徒の試験結果表
技術評論社 堀川明著 『SQLServer7.0/MSDE完全トレーニングテキスト(上巻)』より転載

生徒の試験結果の中で、物理を受験した生徒の、生徒間の得点差計算の一覧表を作成したいと思います。このような計算を行うときに、同じ表を2個用意して自己結合を行うと便利です。

図14:試験結果テーブルを2個選択する

新しくビュー表を作成します。このとき、同じ試験結果テーブルを2個追加します。2個目に追加した試験結果テーブルの名前が『試験結果_1』という別名が付けられて表示されました。

図15:SQLペインを表示する
ビュー表を作成するときは、必ずSQLペインを表示するようにしましょう。きっとビュー表の作成に役立ちます。

図16:テーブルに別名を付ける
理解しやすいビュー表を作るために、SQL文の中のテーブルに対してわかりやすい別名を付加します。左側のテーブルの別名をL、右側のテーブルの別名をRとします。
この別名を付けたときは、まだビュー表が不完全なためエラーメッセージが表示されます。

図17:表示されたエラーメッセージ
このエラーを無視してOKボタンを押すと、図16のように、左側のテーブルと右側のテーブルに対して、別名が表示されたことがわかります。

図18:演算の定義を不等号に変える
生徒間の得点差計算を行うため、演算記号を等号から不等号に変更します。これにより、左側の生徒番号より大きな右側の生徒番号の組み合わせが演算対象となります。

図19:ビュー表の作成
得点差計算を行うためのビュー表を作成します。計算列(得点差)を用意しました。

図20:ビュー表を開く
作成したビュー表を開きました。何かおかしいですね。そうです、物理を受験した生徒の得点差計算を行うのでレコードの検索条件が必要です。

図21:物理を受験した生徒を選択する条件定義
ビュー表のレコード抽出条件として、物理を受験したという条件を入力します。

図22:物理を受験した生徒の得点差計算
今度は正しく物理を受験した生徒の得点差計算ができました。


<< 前へ次へ >>
◆PAGE LINK  |  |  |  |  |  |  |  |  |  | 10 | コラム 

PASSJメールニュース 著作権ついて プライバシーポリシー リンクポリシー お問い合わせ
(C) 2005 Professional Association for SQL Server Japan. All rights reserved.