有人可以幫助如何在SQL Server2000中編寫下面的代碼嗎?由於如何爲SQL Server 2000編寫下面的SQL片段
WITH cte
AS (SELECT *,
(Row_number() OVER(ORDER BY productid, transactionid,
statusdate
DESC)
)AS
rownum
FROM @table),
cte2
AS (SELECT cte.*,
(CASE
WHEN cte.status = Isnull((SELECT t.status
FROM cte t
WHERE t.rownum = (cte.rownum + 1
)),
'')
THEN 1
ELSE 0
END)AS rownum2
FROM cte)
SELECT cte2.productid,
cte2.transactionid,
cte2.details,
cte2.status,
cte2.statusdate,
cte2.requestdate
FROM cte2
WHERE rownum2 = 0
你試過了什麼?請嘗試一些內容,然後發佈給其他人進行編輯,投票等。 –
對2005年的參考還有什麼意義?這個代碼是從哪裏來的?請花一些時間來解釋,並且您會得到更好的答案 –
SQL Server 2005具有OVER()函數,該函數在2000年不可用。此SQL不會在SQL Server 2000中運行。 – Digbyswift