У меня есть таблица, в которой хранятся транзакции для каждой учетной записи, я написал запрос, который сообщает мне, когда учетная запись заплатила один месяц, но не следующая, в зависимости от параметра MonthID (от кал таблицы перекодировки)ЗАПРОСИТЬ запрос, чтобы получить информацию год к настоящему времени
DECLARE @MonthID INT
SET @MonthID = 128
SELECT AccountNo, Emp,
FROM Table1 AS t INNER JOIN
tblcal AS cl ON t.date = cl.Date
WHERE cl.MonthID = @MonthID
EXCEPT
SELECT AccountNo, Emp,
FROM Table1 AS t INNER JOIN
tblcal AS cl ON t.date = cl.Date
WHERE cl.MonthID = @MonthID+1
Запрос работает для получения записей за указанный месяц однако мне нужно смотреть на получение этого за каждый месяц года и не имею ни малейшего представления о том, как учитывать это требование в?
Является ли курсор лучшим способом для этого? Я читал много негативов о курсорах?
На данный момент он возвращает данные, как:
MonthID | SkippedPay
128 | 12445
(как я выполнить подсчет на номера счетов)
Что мне нужно, чтобы получить его в течение последних 12 месяцев, так что то же самое как и выше, но с 12-месячными данными, это то, что заставляет меня думать о том, что курсор проходит через каждый месяц и заполняет таблицу?
MonthID | SkippedPay
128 | 12445
129 | 1256
Можете ли вы обновить свой ответ и представить пример того, как вы хотите, чтобы результаты были возвращены? – Kane
@ Kane обновить сейчас – GPH
Не знаете, зачем вам нужен EXCEPT в исходном запросе - можете ли вы объяснить? – Rikalous