我嘗試創建一個存儲過程,該存儲過程需要從哪裏開始,要顯示的最大行數和位置。它們返回HouseID
的列表和位置,但我也希望它包含另一個名爲dbo.House
的表中的「房屋名稱」,該表中有HouseId
將其鏈接到位置。我將如何去添加第二個表。使用ROW_NUMBER的SQL Server存儲過程
感謝,
CREATE PROCEDURE dbo.basicHouseSearch
@StartIndex int,
@MaxRows int,
@HouseLocation NVarChar(50)
AS
BEGIN
SET NOCOUNT ON;
Select
Location.HouseID, CityTown
FROM
(SELECT
ROW_NUMBER() OVER (ORDER by Location.HouseID) as RowNumber,
Location.HouseID,
CityTown
FROM dbo.Location) Location
WHERE
RowNumber >= @StartIndex
AND ROWNUMBER < (@StartIndex + @MaxRows)
END
GO
在您的子查詢中添加一個連接,並在外部查詢中添加該列。 – 2014-09-12 20:29:59
或更好的是,加入子查詢的結果 - 沒有保證,但可能會更好地強制SQL Server在加入之前進行過濾。 – 2014-09-12 20:30:36
什麼版本的Sql Server?有一種新的OFFSET/FETCH技術對於這種分頁更好。 – 2014-09-12 20:42:20