У меня есть таблица, содержащая оценки учащихся (StudentsID, Subject, Year, Mark).
Я хочу отображать отметки по горизонтали для одного и того же учащегося, предмета, но другого года.
Проблема, с которой я столкнулся, заключается в том, что не все предметы, доступные за все годы, я имею в виду, что учащийся может изучать разные предметы каждый год. и я хочу показать их все в одной таблице по горизонтали.
Пример:
Я пробовал этот запрос
SELECT TOP (100) PERCENT
dbo.New_Portal_OldMarks.StudentID, dbo.New_Portal_OldMarks.[Student Name],
dbo.New_Portal_OldMarks.SubjectName, dbo.New_Portal_OldMarks.AcademicYear,
dbo.New_Portal_OldMarks.Class, dbo.New_Portal_OldMarks.Term1, dbo.New_Portal_OldMarks.Term2,
dbo.New_Portal_OldMarks.Term3, dbo.New_Portal_OldMarks.Final,
New_Portal_OldMarks_1.AcademicYear AS AcademicYear2,
New_Portal_OldMarks_1.Class AS Class2,
New_Portal_OldMarks_1.Term1 AS [Term1-2],
New_Portal_OldMarks_1.Term2 AS [Term2-2],
New_Portal_OldMarks_1.Term3 AS [Term3-2],
New_Portal_OldMarks_1.Final AS [Final-2]
FROM
dbo.New_Portal_OldMarks
FULL OUTER JOIN
dbo.New_Portal_OldMarks AS New_Portal_OldMarks_1 ON dbo.New_Portal_OldMarks.StudentID = New_Portal_OldMarks_1.StudentID
AND dbo.New_Portal_OldMarks.SubjectName = New_Portal_OldMarks_1.SubjectName
WHERE
(dbo.New_Portal_OldMarks.StudentID = 1004000)
ORDER BY
AcademicYear2
Я перепробовал все запросы на соединение (например, JOIN, LEFT JOIN, RIGHT JOIN и т. Д.), Но все они возвращают неверные результаты