0
У меня есть этот запрос, который почти делает то, что я хочу:TSQL OrderBy Offset вопрос
SET NOCOUNT ON
SELECT D.Id from MtdMdl_HierarchicalObject D
where D.Name LIKE '%R%'
SELECT B.* FROM MtdMdl_Item A
OUTER apply (SELECT * FROM MtdMdl_Item as C where a.Id=c.Id) as B
WHERE A.Owner in
(
SELECT D.Id from MtdMdl_HierarchicalObject D
where D.Name LIKE '%R%'
)
order by Id offset 0 ROWS FETCH NEXT 3 ROWS ONLY
GO
К сожалению, я хотел бы Орден по идентификатору Fetch New 3 Строки, которые должны применяться на каждом объекте, возвращаемый:
SELECT D.Id from MtdMdl_HierarchicalObject D
where D.Name LIKE '%R%'
Поскольку текущий скрипт применяет пейджинг для всего результата предыдущего утверждения.
Я думаю ОП хочет новых 3 строки для каждого раунда поездки DB, просто положить сверху плохо вернуться в тот же 3 ряда. Если моя догадка правильная, то вам нужно сохранить и передать какой-то параметр StartFromRow_N из приложения в запрос. – jean
@jean ID OFFSET 0 означает, что OP не пропускает ни одной строки. поэтому будет иметь смысл просто использовать предложение TOP, а не OFFSET. –
Это моя ошибка, в этом случае 0 в смещении, но реальное намерение - использовать пейджинг, поэтому я могу иметь ненулевое смещение. – Nock