SQL Server 2000で以下のコードを書く方法をお手伝いできますか?おかげ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には2000年には使用できないOVER()関数があります。このSQLはSQL Server 2000では実行されませんでした。 – Digbyswift