اینجوری هم میشد بنویسیم:
DECLARE @ST1 AS NVARCHAR(50)
DECLARE @ST2 AS NVARCHAR(50)
DECLARE @ST3 AS NVARCHAR(50)
DECLARE @SCORE1 AS INT
DECLARE @SCORE2 AS INT
DECLARE @SCORE3 AS INT
SELECT TOP 3
ROW_NUMBER() OVER (ORDER BY ARTS DESC) AS RN ,
[Student] ,
[Arts]
INTO #TOP3
FROM [dbo].[Grades]
ORDER BY [Arts] DESC
SELECT @ST1=[Student], @SCORE1=[Arts] FROM #TOP3 WHERE RN=1
SELECT @ST2=[Student], @SCORE2=[Arts] FROM #TOP3 WHERE RN=2
SELECT @ST3=[Student], @SCORE3=[Arts] FROM #TOP3 WHERE RN=3
DROP TABLE #TOP3
SELECT
@ST1 AS '1ST STUDENT' , @SCORE1 AS '1ST SCORE' ,
@ST2 AS '2ND STUDENT' , @SCORE2 AS '2ND SCORE',
@ST3 AS '3RD STUDENT' , @SCORE3 AS '3RD SCORE'