У меня есть две таблицы ниже в базе данных SQL Server.
Таблица активов -
Id,
AssetName
Таблица проверок -
Id,
AssetId, (<- This is Id in the Assets table)
InspectionName,
DateStarted,
DateDue,
DateCompleted
Актив может иметь несколькопроверки, перечисленные в таблице проверок.Как я могу создать запрос, если новейшая проверка активов старше 3 лет?(DateCompleted> 3 года назад для новейшей проверки).
У меня есть запрос:
SELECT t1.Id, t1.AssetName FROM [Assets] AS t1 INNER JOIN [Inspections] AS t2 ON t1.Id = t2.AssetID WHERE [DateCompleted] < DATEADD(year, -3, GETDATE()) AND t1.Id NOT IN (SELECT t1.Id FROM [Assets] AS t1 INNER JOIN [Inspections] AS t2 ON t1.Id = t2.AssetID WHERE [DateCompleted] BETWEEN DATEADD(YEAR, -3, GETDATE()) AND GETDATE())
Спасибо, Пол.