Я работаю над запросом, чтобы рассчитать время, прошедшее с момента последнего профилактического обслуживания (PM) для каждой единицы оборудования в скользящем календаре. Цель состоит в том, чтобы построить фрейм данных для анализа того, когда произойдет ремонт.
Ниже приведена таблица результатов запроса, которая у меня есть, с добавленным столбцом «Время с последнего PM», который является столбцом, который мне нужен.
Назовите эту таблицу 1:
EquipmentNumber |Year |weeknumber |Current Week Repair|Time Since Last PM
2069186 |2018 |10 |1 |5
2069186 |2018 |21 |1 |1
1626930 |2018 |09 |1 |21
1626930 |2019 |03 |1 |15
Данные о профилактическом обслуживании поступают из запроса/таблицы, настроенной следующим образом, т. е. Таблица 2.
Equipment Number |Year |WeekNumber
2069186 |2018 |5
2069186 |2018 |20
1626930 |2017 |40
1626930 |2018 |40
Поэтому мне нужно убедиться, что для моего последнего запроса, таблицы 1, «Время с момента последнего PM» для оборудования 2069186 первая запись представляет собой разницу между неделей 5 2018 года в таблице 2 и неделей 10 2018 года. Для второй записи оборудования 2069186 «Время с последнего PM» должно представлять собой разницу между 21-й неделей 2018 г. в таблице 1 и 20-й неделей 2018 г. в таблице 2. Для оборудования 1626930 первая запись должна представлять собой разницу между 9-й неделей 2018 г. в таблице 1 и 40-й неделей 2017 г. в таблице 2. Для оборудования 1626930 вторая запись должна представлять собой разницу между неделей 3 2019 года в таблице 1 и неделей 40 2018 года в таблице 2. Имейте в виду, что мне нужна разница между текущей записью в таблице 1 и последним PM до года и недели. в таблице 1.
Запросы для Таблицы 1 и Таблицы 2 очень просты.
SELECT
DISTINCT EquipmentNumber,
Year,
weeknumber,
[Current Week Repair]
FROM TableA
SELECT
EquipmentNumber,
DatePart(Year, Created) as Year,
DatePart(Week, Created) as WeekNumber
FROM TableB
Любые предложения о том, как правильно соединить две таблицы и выполнить расчет? Или есть способ использовать временные таблицы и переменные, которые кто-нибудь может предложить? Любой вклад будет оценен!