我有两张桌子:网站和网页。每个站点连接到零个或多个页面。每个站点都包含[学分]值(数字)。
我想查询一下:返回N(相当于[学分])页面,该网站有一个或多个[学分]。
这样的事情:
SELECT TOP (sites.Credits) pages.Id, sites.Id FROM sites, pages
WHERE sites.Credits > 0 AND sites.Id = pages.WebSites_Id
注意每个网站可以拥有不同的[学分]值。所以,这个TOP不能在全球范围内运作。
任何解决方案?
谢谢
答案 0 :(得分:2)
请勿在{{1}}子句中使用逗号。您不恰当地使用FROM
,因为它仅适用于整个结果集。相反,请考虑TOP
。
以下是使用row_number()
的一种方法:
CROSS APPLY