आप दूसरी तालिका के अलग-अलग मान पाने के लिए CTE उपयोग कर सकते हैं, और फिर उस में शामिल होने के पहले की मेज के साथ। आपको अंतिम नाम कॉलम के आधार पर अलग-अलग मान प्राप्त करने की भी आवश्यकता है। आप इसे LastName द्वारा विभाजित Row_Number() के साथ करते हैं, और फर्स्टनाम द्वारा क्रमबद्ध किया जाता है।
यहाँ कोड
;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
स्रोत
2015-03-19 15:46:06
एमएसएसएलएल 2008 आर 1 में 'प्राकृतिक जॉइन' गलत वाक्यविन्यास है – itsho