0
我試圖在我的查詢中使用WITH語句,但結果始終是一個空數組。這是否意味着驅動程序實際上阻止我們使用CTE查詢定義,即使我們正在使用SQL-Server 2005或更高版本?我沒有任何錯誤,根本就沒有。用於SQL Server的Microsoft驅動程序似乎不支持CTE查詢定義
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)