Możesz użyć CTE, aby uzyskać różne wartości drugiej tabeli, a następnie połączyć ją z pierwszą tabelą. Należy również uzyskać różne wartości na podstawie kolumny LastName. Robisz to z Row_Number() podzielonym na partycje przez LastName i sortowane według FirstName.
Oto kod
;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
'NATURALNA JOIN' to" niepoprawna składnia "w MSSQL 2008 R1 – itsho