Попробуйте это:
/*
WITH TABLEONE (LOCATION, TIMESTAMP, LASTNAME, CUSTOMER_ID, REASON, Info1, Info2, Info3) AS
(
VALUES
('FrontDoor ', '2020-02-18 14:00:00.000000', 'Smith', 122, 'Dropoff ', 1, 'Apple ', 'Dog ')
, ('FrontDoor ', '2020-02-19 11:00:00.000000', 'Smith', 122, 'Dropoff ', 3, 'Pear ', 'Cat ')
, ('Kitchen ', '2020-02-19 17:00:00.000000', 'Smith', 122, 'Eat ', 3, 'Grapes ', 'Cat ')
, ('Bathroom ', '2020-02-19 19:00:00.000000', 'Smith', 122, 'Bio ', 2, 'Pear ', 'Cat ')
, ('FrontDoor ', '2020-02-19 11:00:00.000000', 'Jones', 123, 'Dropoff ', 1, 'Tomato ', 'Dog ')
, ('LivingRoom ', '2020-02-19 12:00:00.000000', 'Jones', 123, 'Television ', 3, 'Dragon Fruit ', 'Pear')
)
*/
SELECT A.LOCATION, A.TIMESTAMP, A.LASTNAME, A.CUSTOMER_ID, A.REASON, A.Info1
—-, A.Info2
, A.Info3
FROM
(
SELECT T.*, ROWNUMBER() OVER(PARTITION BY LOCATION, LASTNAME, CUSTOMER_ID, REASON ORDER BY TIMESTAMP DESC) RN_
FROM TABLEONE T
) A
—- JOIN MYTAB B ON ...
WHERE A.RN_=1;