У меня есть SQL заявление, что я в настоящее время используется для возврата количества строк из базы данных:Получить строку, если в течение определенного периода времени другой строки
SELECT
as1.AssetTagID, as1.TagID, as1.CategoryID,
as1.Description, as1.HomeLocationID, as1.ParentAssetTagID
FROM Assets AS as1
INNER JOIN AssetsReads AS ar ON as1.AssetTagID = ar.AssetTagID
WHERE
(ar.ReadPointLocationID='Readpoint1' OR ar.ReadPointLocationID='Readpoint2')
AND (ar.DateScanned between 'LastScan' AND 'Now')
AND as1.TagID!='000000000000000000000000'
Я хочу сделать запрос, который будет получить строку с самым старым DateScanned
из этого запроса, а также получить еще одну строку из базы данных, если она была в течение определенного периода времени из этой строки (например, 5 секунд для примера). Самая старая запись была бы относительно простой, выбрав первую запись в нисходящей сортировке, но как бы получить вторую запись, если она была в течение определенного периода времени первого?
Я знаю, что могу выполнить этот процесс с несколькими запросами, но есть ли способ объединить этот процесс в один запрос?
База данных, которую я использую, - это SQL Server 2008 R2.
Также обратите внимание, что DateScanned
раз просто заполнители, и я забочусь об этом в приложении, которое будет использовать этот запрос.
Я думал, что должен что-то делать с «датиффом», но просто не мог понять, что. Спасибо, это работало как шарм! – danielunderwood