[英]How to assign ROW_NUMBER() to column
我有兩個表UCP
, TerritoriesInfo
UCP
具有TerritoriesID
, Territories
TerritoriesInfo
具有ID
, TerritoriesName
我想用Row_Number()更新TerritoriesID
例如
UCP
TerritoriesID Territories
1 NULL
2 NULL
3 NULL
4 NULL
5 NULL
6 NULL
7 NULL
領土信息
ID TerritoriesName
1 A
2 B
3 C
4 D
5 ES
6 T
7 R
首先,我想分配UCP.TerritoriesID = ROW_NUMBERS(),然后我想從TerritoriesInfo.TerritoriesName更新UCP.Territories,其中UCP.TerritoriesID = TerritoriesInfo.ID我嘗試了自動遞增,但是當我使用Delete語句並再次嘗試時,它不起作用然后我嘗試了此查詢,但不起作用
update UCP SET TerritoriesID = ROW_NUMBER()
由於UCP.TerritoriesID
和TerritoriesInfo.ID
包含從一開始的序列,而樣本數據中沒有間隙,因此尚不清楚此處的要求是什么。 我最好的猜測是真實的UCP.TerritoriesID
數據不是順序的還是不是從一個開始的。
ROW_NUMBER
在其OVER
子句中需要ORDER BY
。 我猜測應該根據UCP.TerritoriesID
的當前值來分配行號,尚待更多信息:
;WITH numCTE
AS
( SELECT TerritoriesID, ROW_NUMBER() OVER (ORDER BY TerritoriesID) AS rn
FROM UCP
)
UPDATE numCTE
SET TerritoriesID = rn
(我假設一旦有了這個,就可以處理UCP.Territories
的更新)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.