Я написал хранимую процедуру, которая дает мне необработанные данные, требуемые для анализа данных.Получить последние шесть строк из запроса select
Эта ИП, в минуту заполнит временную таблицу со следующей структурой:
CREATE TABLE #Analysis
(
AgreementID int,
DueDate datetime,
DateFrom datetime,
DateTo datetime,
AmountDue decimal(9,2),
AmountPaid decimal(9,2),
DueTD decimal(9,2),
PaidTD decimal (9,2),
ArrearsScore int
)
AgreementID можно повторить в этой таблице между 6 записей вверх.
Что мне нужно сделать, это для каждого AgreementID, мне нужно получить последние 6 Рядов
Это будет позволяют мне выполнять остальную часть моего анализа.
Я попытался:
SELECT
AN.*
FROM
#Analysis AS A
LEFT OUTER JOIN
(SELECT
TOP(6) *
FROM
#Analysis
ORDER BY
AgreementID, DueDate DESC
) AS AN ON A.AgreementID = AN.AgreementID
WHERE AN.AgreementID IS NOT NULL
Но это не дает мне желаемых результатов.
Может ли кто-нибудь посоветовать?
спасибо.
Как добавить WITH заявление на СП, его не то, что я знаком с, и он бросает мне следующую ошибку: Неправильный синтаксис около ключевого слова " с'. Если этот оператор является общим табличным выражением, предложением xmlnamespaces или предложением контекста отслеживания изменений, предыдущий оператор должен быть прерван точкой с запятой. –
Извинения, я правильно прочитал ошибку и потребовал полуточку перед оператором WITH. Спасибо –
вам нужно добавить ';' перед ключевым словом 'WITH'::' –