Try this:
SELECT t1.*, t2.*
FROM Table1 AS t1 LEFT JOIN Table2 AS t2 ON t1.ID = t2.FK_Table1
ORDER BY t2.Date DESC
In case you want to get only latest date, try this:
SELECT t1.*, t2.*
FROM Table1 AS t1 LEFT JOIN (
SELECT *, ROW_NUMBER() OVER(PARTITION BY FK_Table1 ORDER BY [Date] DESC) AS RowNo
FROM Table2
) AS t2 ON t1.ID = t2.FK_Table1 AND t2.RowNo=1
Tested on:
SET DATEFORMAT dmy;
DECLARE @table1 TABLE (ID INT, SomeColumn VARCHAR(30))
INSERT INTO @table1 (ID, SomeColumn)
VALUES(1, 'sfafsda'),
(2, 'trwe'),
(3, 'gfdgsd')
DECLARE @table2 TABLE(ID INT, FK_Table1 INT, [Date] DATE)
INSERT INTO @table2 (ID, FK_Table1, [Date])
VALUES(1, 1, '22/05/2014'),
(2, 1, '01/02/2015'),
(3, 1, '01/01/2015'),
(4, 2, '01/01/2015'),
(5, 2, '01/01/2013'),
(6, 3, '01/01/2010')
SELECT t1.*, t2.*
FROM @table1 AS t1 LEFT JOIN (
SELECT *, ROW_NUMBER() OVER(PARTITION BY FK_Table1 ORDER BY [Date] DESC) AS RowNo
FROM @table2
) AS t2 ON t1.ID = t2.FK_Table1 AND t2.RowNo=1