学生の科目名 (英語、科学など) を列として表示し、各科目の下にそれぞれのマークを表示する必要があるという問題があります。データベースにクエリを実行し、これらの値を列ではなくデータセットの行として取得します。データベースにクエリを実行するにはどうすればよいですか?
私のクエリ結果
student name | marks | Subectname
------------------------------------
raghuram 78 english
raghuram 34 physics
raghuram 76 chemistry
................ ... ..........
レポートに必要な結果
studentname | english | Maths | physics | ......
----------------------------------------------------
raghuram 78 66 32
これが私のクエリです
SELECT
st.FirstName + ' ' + st.LastName as StudentName,
s.Subject_Name, se.Mark
FROM
dbo.FEE_STUDENT_EXAM se
INNER JOIN
dbo.FEE_STUDENT_GRADE sg ON sg.Student_ID=se.Student_ID
INNER JOIN
FEE_STUDENT st ON st.Student_ID=sg.Student_ID
INNER JOIN
dbo.EMP_SUBJECT s ON s.SubjectID=se.Subject_ID
WHERE
sg.Grade_ID = @GradeId
AND sg.Division_ID = @DivId
AND se.Subject_ID IN (SELECT d.SubjectId
FROM dbo.FEE_STUDENT_EXAM_SCHEDULED d
INNER JOIN dbo.FEE_STUDENT_EXAM_SCHEDULEH h ON h.ExamScheduleID = d.ExamScheduleID
WHERE h.Grade_Id = @GradeId AND h.Division_ID = @DivId
AND YEAR(CAST(d.TestDate AS DATETIME)) = @Year
AND MONTH(CAST(d.TestDate AS DATETIME)) = @Month)