There are three row in Static Table called 'SUBJECT'
SubjectID SubjectCode
---------------------------
1 MATHS
2 SCIENCE
3 ENGLISH
---------------------------
My application will put entry of each subject marks for corresponding students in another table called 'MARKS'
MarkID StudentID SubjectID Marks
---------------------------------------------------
1 1 1 90
2 1 2 85
3 1 3 80
4 2 1 100
5 2 2 70
6 2 3 90
I am getting struggle to create a virtual table as like below:
StudentID Maths Science English
------------------------------------------------
1 90 85 80
2 100 70 90
I tried with the query
Select MARKS.StudentID,
CASE WHEN SUBJECTS.SubjectCode = 'MATHS' THEN MARKS.Marks END as Maths,
CASE WHEN SUBJECTS.SubjectCode = 'SCIENCE' THEN MARKS.Marks END as Science,
CASE WHEN SUBJECTS.SubjectCode = 'ENGLISH' THEN MARKS.Marks END as English,
FROM
MARKS
JOIN SUBJECTS on SUBJECTS.SubjectID = MARKS.SubjectID
GROUP BY
MARKS.StudentID, SUBJECTS.SubjectCode, MARKS.Marks
But it returns,
StudentID Maths Science English
------------------------------------------------
1 90 NULL NULL
1 NULL 85 NULL
1 NULL NULL 80
2 100 NULL NULL
2 NULL 70 NULL
2 NULL NULL 90