Предполагая, что правильная версия - 2008-r2, вам нужно использовать подзаголовок:
Создать и заполнить таблицу образцов (Please спаси нас этот шаг в ваших будущих вопросов)
DECLARE @T AS TABLE
(
PriducID int,
Productversion int,
Productcreationdate date
)
INSERT INTO @T VALUES
(100, 1, '2012-05-05'),
(100, 2, '2013-06-06'),
(100, 3, '2015-07-07')
запрос:
SELECT PriducID,
Productversion,
(
SELECT TOP 1 Productcreationdate
FROM @T t2
WHERE t2.Productcreationdate < t1.Productcreationdate
ORDER BY Productcreationdate DESC) As PrevProductcreationdate
FROM @T t1
WHERE Productversion = 2
Результаты:
PriducID Productversion PrevProductcreationdate
100 2 05.05.2012 00:00:00
Если ваша версия 2012, вы можете использовать окно CTE и LAG
чтобы получить тот же результат:
;WITH CTE AS
(
SELECT PriducID,
Productversion,
LAG(Productcreationdate) OVER (ORDER BY Productcreationdate) As PrevProductcreationdate
FROM @T
)
SELECT PriducID,
Productversion,
PrevProductcreationdate
FROM CTE
WHERE Productversion = 2
Какую версию сервера sql вы на самом деле работаете? –