Вы можете использовать CTE для получения различных значений второй таблицы, а затем присоединиться к этой первой таблице. Вам также нужно получить различные значения на основе столбца LastName. Вы делаете это с помощью Row_Number(), разделенного по LastName и отсортированного по первому имени.
Вот код
;WITH SecondTableWithDistinctLastName AS
(
SELECT *
FROM (
SELECT *,
ROW_NUMBER() OVER (PARTITION BY LastName ORDER BY FirstName) AS [Rank]
FROM AddTbl
)
AS tableWithRank
WHERE tableWithRank.[Rank] = 1
)
SELECT a.FirstName, a.LastName, S.District
FROM SecondTableWithDistinctLastName AS S
INNER JOIN AddTbl AS a
ON a.LastName = S.LastName
ORDER BY a.FirstName
'NATURAL JOIN' является' неправильным синтаксисом' в MSSQL 2008 R1 – itsho