I think this will do it...Declare @FlightIdSet @FlightId = 151;With cte As ( Select FLIGHT_NAME = HISTORY_OLD_VALUE, RankNum = Row_Number()Over(Partition By FLIGHT_ID, HISTORY_FIELD_NAME Order By HISTORY_TRANSACTION_DATE Desc) From ATP_TRANSACTION_HISTORY)Select STATUS = 'new' FLIGHT_ID, FLIGHT_NAME, FLIGHT_EXTRANAME From ATP_FA_FLIGHTSWhere FLIGHT_ID = @FlightIdUnionSelect STATUS = 'old' A.FLIGHT_ID, FLIGHT_NAME = isnull(B.FLIGHT_NAME, A.FLIGHT_NAME), FLIGHT_EXTRANAME = isnull(C.FLIGHT_EXTRANAME, A.FLIGHT_EXTRANAME)From ATP_FA_FLIGHTS ALeft Join cte BOn A.FLIGHT_ID = B.HISTORY_TABLE_KEY_ID and 'FLIGHT_NAME' = B.HISTORY_FIELD_NAMEand 1 = B.RankNumLeft Join cte COn A.FLIGHT_ID = C.HISTORY_TABLE_KEY_ID and 'FLIGHT_EXTRANAME' = C.HISTORY_FIELD_NAMEand 1 = C.RankNumWhere A.FLIGHT_ID = @FlightId
Corey
I Has Returned!!