以下は、1 つのテーブルのマネージャー フィールドを更新するクエリです。私が直面している問題は、RH テーブルで最新の開始日を持つユーザー (NRH.AffectedUserNumber) を選択したいということです。
WITH [NewReqHeader]
AS
(SELECT ROW_NUMBER()
OVER(ORDER BY RH.StartDate DESC) AS rowid
, RH.RequestId
, RH.RequestType
, RH.RequestStatusID
, RH.AffectedUserNumber
, RPD.TaskId
, RPD.HotelID
, RH.StartDate
FROM DBO.RequestPermissionDetail RPD
JOIN DBO.RequestHeader RH ON RH.RequestId = RPD.RequestId
AND RH.RequestType = 2
AND RH.RequestStatusID = 20
AND RPD.TaskId = 923
)
UPDATE #Facility_Manager
SET Manager = NRH.AffectedUserNumber
FROM #Facility_Manager FM
LEFT OUTER JOIN [NewReqHeader] NRH ON FM.FacilityId = NRH.HotelID
AND ISNULL(FM.FacilityId ,'') != ''
WHERE FM.SecPermissionCount > 1