2
我看不出什麼錯誤的位置:如何將值添加到以隨機值顯示排名的列?
DECLARE @cData TABLE(cID NVARCHAR(1), cSeed DECIMAL(8,8), cRank INT)
INSERT INTO @cData (cID, cSeed) SELECT 'W', RAND()
INSERT INTO @cData (cID, cSeed) SELECT 'X', RAND()
INSERT INTO @cData (cID, cSeed) SELECT 'Y', RAND()
INSERT INTO @cData (cID, cSeed) SELECT 'Z', RAND()
SELECT cID, cSeed, (RANK() OVER (ORDER BY cSeed)) AS cRank FROM @cData
UPDATE @cData
SET cRank = (SELECT (RANK() OVER (ORDER BY cSeed)))
SELECT * FROM @cData
爲什麼我會收到來自我的第一個SELECT語句不同的結果比我從我的第二個 - 爲什麼沒有我的update語句把同樣的數據放入我的第一個選擇語句顯示的表中?
這是一個很好的例子,其中,作爲CTE目標的更新可以是一個很好的主意! – Shnugo
輝煌。謝謝。 – DaveX