我有一个我正在创建的存储过程,列是Id,UserId,xId,DocId,FileName,FileType,FileSize,DateUploaded,UploadedBy
出于历史原因,DocId可能有多个副本,我只需要为每个DocId返回最新的行。
我很感激任何帮助或指针,因为我是SQL的新手
SELECT *
FROM dbo.EDocument a
INNER JOIN dbo.Document b ON
a.Id = b.Id
INNER JOIN dbo.FileType c ON
c.Id = b.FileType
WHERE @UserId = UserId
ORDER BY DateUploaded
答案 0 :(得分:0)
删除重复的一般方法。
SELECT T1.*
FROM Table T1
WHERE DateUploaded = (SELECT MAX(DateUplaoded FROM Table T2 WHERE T1.DocId = T2.DocId)