Я пытаюсь создать хранимую процедуру, которая принимает индекс, где следует начинать, максимальное количество строк для отображения и местоположение. Он возвращает список HouseID
и местоположение, но я также хочу, чтобы он включал «имя дома» из другой таблицы под названием dbo.House
, которая имеет ссылку HouseId
, чтобы связать ее с местоположением. Как мне добавить вторую таблицу.Хранимая процедура SQL Server с ROW_NUMBER
Спасибо,
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
Добавьте соединение в свой подзапрос и добавьте этот столбец в свой внешний запрос. –
Или еще лучше, присоединитесь к результатам подзапроса - никаких гарантий, но может быть лучше при принуждении SQL Server к фильтрации перед присоединением. –
Какая версия Sql Server? Есть новый метод OFFSET/FETCH, который намного лучше подходит для подкачки, как это. –