使用左外连接的唯一值?

时间:2013-12-07 21:15:58

标签: sql sql-server

我在#IDS表中有一个id列表,我有一个包含id的重复数据的表,以及#ClassInfo中需要的其他信息(id,title,state,approvedDate等)。

我在哪里错了?

SELECT A.Id, A.ClassNum, A.Title, A.State, A.ApprovedDate, A.CreateDate, A.SubmittedDate
FROM #IDS B
LEFT OUTER JOIN #ClassInfo A
ON A.ClassNum = B.ClassId

我需要从#IDS表中获取ID的不同值(ClassNum及其相关信息)

1 个答案:

答案 0 :(得分:2)

;WITH CTE
AS
(
SELECT * , rn = ROW_NUMBER() OVER (PARTITION BY id ORDER BY id)
FROM #ClassInfo
)
SELECT * 
FROM  #IDS S LEFT JOIN CTE CT
ON S.id = CT.id
WHERE rn = 1