I thought this would be an easy one but had to get some help too. Try this...
declare @dt table ( akey int, d1 datetime, d2 datetime, d3 datetime )
insert into @dt values (1, '2012-01-01', getdate(), '2012-09-01' )
insert into @dt values (2, getdate(), '2012-01-01', '2012-09-01' )
insert into @dt values (3, '2012-01-01', '2012-09-01', getdate() )
select
akey, max(dates)
from
( select akey, d1, d2, d3 from @dt ) p
unpivot (
dates for datevals in ( d1, d2, d3 )
)
AS unpvt
group by akey