SELECT A.No
, A.Name
, C.Date
, C.Address
, C. ...
FROM A
LEFT JOIN
( SELECT Address , ... , No, Date, ROW_NUMBER() OVER(PARTITION BY No ORDER BY Date DESC) AS row
FROM B
) C ON A.No = C.No
WHERE C.row = 1
WHERE COALESCE(C.row, 1) = 1 [if there is no link ,and you'll get Date NULL]
edit: B
SELECT A.No
, A.Name
, C.* (also row)
FROM A
LEFT JOIN
( SELECT * , ROW_NUMBER() OVER(PARTITION BY No ORDER BY Date DESC) AS row
FROM B
) C ON A.No = C.No
WHERE C.row = 1