Я работаю над запросом, чтобы рассчитать время с момента последнего профилактического обслуживания (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, «Время с последнего вечера» для оборудования 2069186, первая запись является разницей от недели 5 2018 в Таблице 2 до недели 10 2018. Для второй записи оборудования 2069186«Время с последнего вечера» должно быть разницей между неделей 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
Есть какие-нибудь предложения о том, как правильно объединить две таблицы и сделать расчет?Или есть способ использовать временные таблицы и переменные, которые кто-нибудь может предложить?Любой вклад будет оценен!