使用SQl server 2008。
;WITH cte AS
(
SELECT *,
ROW_NUMBER() OVER (PARTITION BY refId ORDER BY refid DESC) AS rn
FROM Products
)
SELECT ProductCategories.Id,
ProductCategories.Title,
ProductCategories.languageId,
ProductCategories.RefId,
Url
FROM
cte
RIGHT JOIN
RoundupAcademy.dbo.ProductCategories
ON
dbo.ProductCategories.RefID = cte.CategoryId
WHERE rn = 1
此查询应该带回每个类别的最高结果 相反,它只是带回所有结果。
我只需要基于refid的最高版本,我在这里做错了什么?
答案 0 :(得分:0)
对于那些想知道的人,查询没问题,除了分区的引用是错误的,它应该是categoryId而不是refID。