Id JobId Code DateAdded
1 100 FR1F 2018-06-22 14:19:57.807
2 100 W2OO 2018-06-22 16:52:53.160
3 101 FR1F 2018-06-22 14:19:57.237
4 101 W2OO 2018-06-22 16:52:53.160
5 102 FR1F 2018-06-22 14:19:48.020
6 102 W2OO 2018-06-22 16:52:53.160
Привет, у меня есть результат запроса, раздел которого описан выше с образцом данных.
Запрос следующим образом:
SELECT
T1.Id
, T2.JobId
, T3.Code
, T1.DateAdded
FROM T1
INNER JOIN T2 ON T1.JobId = T2.JobId
INNER JOIN T3 ON T1.T3Id = T3.Id
WHERE T3.Code = 'W2OO' OR T3.Code = 'FR1F'
У меня есть требование обновить значение DateAdded строк с кодом = 'FR1F' значением DateAdded из строк с кодом = 'W200'
Надеюсь, это простое задание для человека с навыками SQL, намного превосходящими мои! Любая помощь с благодарностью получена.
Заранее спасибо
EDIT:
Следующее - то, что я истолковал из вашего ответа Гордона, но оно меняет 0 строк
BEGIN TRAN
UPDATE JR
SET DateAdded = DATEADD(MS, -3, JRFrom.DateAdded)
FROM [OPC].[dbo].[JobRFI] JR
INNER JOIN [OPC].[dbo].[Job] J ON JR.JobId = J.JobId AND ProjectID = '123'
INNER JOIN [OPC].[dbo].[RFI] R ON JR.RFIId = R.RFIId
JOIN [OPC].[dbo].[JobRFI] JRFrom ON JR.Jobid = JRFrom.Jobid
AND R.RFICode = 'FR1F'
AND R.RFICode = 'W200'
SELECT
JR.JobRFIId
, J.JobId
, R.RFICode
, R.Display
, JR.DateAdded
, DATEADD(MS, -3, JR.DateAdded)
FROM [OPC].[dbo].[JobRFI] JR
INNER JOIN [OPC].[dbo].[Job] J ON JR.JobId = J.JobId AND ProjectID = '123'
INNER JOIN [OPC].[dbo].[RFI] R ON JR.RFIId = R.RFIId
WHERE R.RFICode = 'W2OO' OR R.RFICode = 'FR1F'
ROLLBACK TRAN
Еще раз спасибо за ваше внимание к этому!