Лучший способ найти дни между датами в одном столбце (MS Access) - PullRequest
0 голосов
/ 11 февраля 2020

У меня есть запрос, который извлекает даты из> 16 миллионов записей на основе идентификационного номера. В результате генерируется около 800 записей с полями ID и ScanDate, отсортированных от самых старых к новым. Каждый идентификатор может иметь несколько записей. Каков наилучший способ получить разницу между датами?

Я могу довольно легко экспортировать в Excel и получить его таким образом, но начальник хочет автоматизировать его и превратить в окончательный отчет. Я не категорически против того, чтобы делать это в Excel, но лучше всего сохранить его в Access.

Я пробовал этот способ, но он просто зависает и вылетает из Access.

SELECT  LenelID,
        ScanDate,
        NextDate,
        DATEDIFF("D", ScanDate, NextDate)
FROM    (   SELECT  LenelID, 
                    ScanDate,
                    (   SELECT  MIN(ScanDate) 
                        FROM    qry_Filtered_access T2
                        WHERE   T2.LenelID = T1.LenelID
                        AND     T2.ScanDate > T1.ScanDate
                    ) AS NextDate
            FROM    qry_Filtered_access T1
        ) AS T

1 Ответ

0 голосов
/ 11 февраля 2020

Только для 800 записей самый лучший и простой способ на сегодняшний день - просто открыть записи как набор записей , а затем l oop, собирая различия дат. Не требуется никакой фантазии SQL.

Они могут быть либо переданы в коллекцию, либо записаны в другую (временную) таблицу с другими данными, которые понадобятся вам для отчета.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...