Я пытаюсь использовать оператор WITH в своих запросах, но в результате всегда получается пустой массив.Означает ли это, что драйвер фактически мешает нам использовать определение запроса CTE, даже если мы используем SQL-Server 2005 или более позднюю версию?Я не получаю ошибок, просто ничего.
WITH CarsTemp AS
(
SELECT *, ROW_NUMBER() OVER (ORDER BY Model) AS Row
FROM Cars
)
SELECT *
FROM CarsTemp
WHERE Row BETWEEN 1 AND 10
Однако, если я использую общий синтаксис встраивания, он работает нормально.
SELECT * FROM
(
SELECT *, ROW_NUMBER() OVER (ORDER BY Model) AS Row
FROM Cars
) AS CarsTemp
WHERE Row BETWEEN 1 AND 10
Может ли кто-нибудь помочь мне здесь?Почему это так?
Мой запрос выглядит так:
sqlsrv_query($this->mssql, $query, $sqlParams, array( "Scrollable" => SQLSRV_CURSOR_KEYSET )