Я пытаюсь получить предварительные оценки и предыдущую дату тестирования учащегося в том же запросе. Мой текущий запрос работает нормально до тех пор, пока предыдущий балл не упадет ровно на 28-дневную разницу. Вопрос заключается в том, когда баллы падают на 29,30 или 31 день. Вот мой текущий запрос:Получение предварительных результатов теста по тому же запросу
SELECT
a.STUDENTID,
b.CURRENTSCORE,
b.CURRENTSCOREDT,
(select CURRENTSCORE
from SCORES
where STUDENT = a.STUDENTID
and ENDDTE=trunc(a.DATECOL)-28
and COURSE=b.COURSE and rownum =1
) as PRIORSCORE,
trunc(b.ENDDTE)-28 as PRIORCOREDT,
b.COURSE
FROM
TABLE1 a,
SCORES b
WHERE
TRUNC(a.DATECOL) = (SELECT MAX(TRUNC(ENDDTE))
FROM SCORES
)
and a.STUDENTID = b.STUDENT
and b.COURSE='Course1';
Как это можно сделать немного более динамичным, так что я получить предыдущие оценки, независимо от того, когда был взят экзамен/тест.
Пожалуйста, покажите таблицы схемы, и некоторые выборочные данные. – OldProgrammer