我有一些孤兒記錄,我需要做成父記錄,但首先我需要基於用戶名的後續記錄有用戶名的第一個實例的ID,然後我會變成一個父記錄,我得到這個至今:T-SQL子ID的匹配父母身份
DECLARE @Test TABLE
(
ID INT
,UserName NVARCHAR(30)
,FileID INT
)
INSERT INTO @Test VALUES (1,'TT',1)
INSERT INTO @Test VALUES (2,'TT',2)
INSERT INTO @Test VALUES (3,'TT',3)
INSERT INTO @Test VALUES (4,'WW',4)
INSERT INTO @Test VALUES (5,'WW',5)
INSERT INTO @Test VALUES (6,'WW',6)
INSERT INTO @Test VALUES (7,'WW',7)
;
WITH CTE
AS
(
SELECT *,ROW_NUMBER() OVER(Partition by UserName Order by UserName) RN
from @Test
)
SELECT *
FROM CTE
ORDER BY Id ASC
ID UserName FileID RN
1 TT 1 1
2 TT 1 2
3 TT 1 3
4 WW 4 1
5 WW 4 2
6 WW 4 3
7 WW 4 4
我希望更新的ID列從:
ID UserName FileID
627 TT 626
628 TT 626
629 TT 626
461 WW 460
462 WW 460
463 WW 460
464 WW 460
要這樣:
ID UserName FileID
627 TT 627
628 TT 627
629 TT 627
461 WW 461
462 WW 461
463 WW 461
464 WW 461
請輸入預期結果作爲文本 – TheGameiswar