Изначально мой запрос был таким:
select a.ID, a.TransactionID, b.Result
from MyDB.Result a inner join MyDB.ResultData b on a.ID=b.ID
where a.ID < 100000 and a.CreatedOn > '2020-01-01'
order by a.ID
Но я получил ошибку в Elasticsearch JDB C input
Предложение ORDER BY недопустимо в представлениях, встроенных функциях , производные таблицы, подзапросы и общие табличные выражения, если также не указаны TOP, OFFSET или FOR XML.
Чтобы обойти это, я реорганизовал его так:
select TOP 500 a.ID, a.TransactionID, b.Result
from MyDB.Result a inner join MyDB.ResultData b on a.ID=b.ID
where a.ID < 100000 and a.CreatedOn > '2020-01-01'
order by a.ID
Есть ли способ переписать его, чтобы не запрашивать TOP 500 и вместо этого позволить плагину JDB C использовать свои встроенные настройки?
EDIT: Это раздел из логов. Это выглядит как часть более крупного запроса.
(1.251403s) SELECT TOP (1) count(*) AS [COUNT] FROM (select TOP 500 a.ID, a.TransactionID, b.Result from MyDB.Result a inner join MyDB.ResultData b on a.ID=b.ResultID where a.ID < 100000 and a.CreatedOn > '2020-01-01' order by a.ID) AS [T1]
(8.845048s) SELECT * FROM (select TOP 500 a.ID, a.TransactionID, b.Result from MyDB.Result a inner join MyDB.ResultData b on a.ID=b.ResultID where a.ID < 100000 and a.CreatedOn > '2020-01-01' order by a.ID) AS [T1] ORDER BY 1 OFFSET 0 ROWS FETCH NEXT 500 ROWS ONLY