| MSDE FunClub |
|
最終更新日 : 2000/06/12 |
|
Microsoft Data Engine FunClub
|
Since 2000.06.12
|
|
SQLServer7.0/MSDE 完全トレーニングテキスト(上巻) |
|
【第1章63p 〜 64p掲載】 |
-- [SQL01_15.SQL]
-- SQLServer7.0 Transact-SQL言語
-- 日本技術ソフト開発 堀川 明
-- http://www.horikawa.ne.jp/msde/
--
-- このSQLプログラムは、
-- 自己表の結合処理の応用(同一表の結合)です
-- 生徒間の得点の差を計算します
--
-- これから操作する既定のデータベースを MySampleTest にします
USE MySampleTest
GO
-- ( 件処理されました)の表示を抑制する
SET NOCOUNT ON
GO
-- ******************************
-- 生徒間の得点の差を計算します
-- ******************************
DECLARE @TEST varchar(8)
SELECT @TEST = '数学'
PRINT ''
PRINT '試験科目[' + @TEST + ']の得点状況'
PRINT ''
SELECT * FROM 試験結果 WHERE( 科目= @TEST )
ORDER BY 生徒番号
PRINT ''
PRINT '[' + @TEST+']科目を受験した生徒間の得点差の計算'
PRINT ''
SELECT L.生徒番号 , L.得点 , R.生徒番号 , R.得点 ,
(L.得点 - R.得点) AS 得点差
FROM 試験結果 AS L
INNER JOIN 試験結果 AS R
ON L.生徒番号 < R.生徒番号
WHERE ((L.科目=@TEST) AND (R.科目 = @TEST))
GO