Предположение: значения даты являются уникальными для всех записей.
Я придумал это:
select mytable.value1
from (select key1, max(date1) max_date1 from mytable group by key1) q1
inner join (select key2, max(date1) max_date1 from mytable group by key2) q2
on q2.max_date1 = q1.max_date1
inner join mytable on mytable.date1 = q1.max_date1
На основе этой схемы:
create table myTable (
key1 int,
key2 nvarchar(1),
date1 date,
value1 nvarchar(20)
);
insert into mytable values
(1, 'a', '2019-01-01', 'john'),
(1, 'b', '2019-01-03', 'ben'),
(2, 'c', '2019-02-01', 'kim'),
(3, 'c', '2019-02-02', 'dan');