2014-01-07 108 views
0

當我插入到表中時,我有兩列是重要的,即外鍵列和該外鍵的子集。比如我可能有2432與1,2,3,4基於兩個其他列的不同值自動遞增列

2432 1 1 
2432 1 2 
2432 1 3 
2432 1 4 
2432 1 5 
2432 1 6 
2432 2 1 
2432 2 2 
2432 2 3 
2432 3 1 
2432 3 2 
2432 3 3 
2432 3 4 
2432 3 5 
2432 4 1 
2432 4 2 

每個鍵子集的量不同,我只需要一種方法來創建的每個不同鍵的增加值和子集以下關鍵這將導致上面的第三列。我怎樣才能做到這一點?

回答

2

您可以使用ROW_NUMBER

INSERT INTO MyTable (C1, C2, C3) 
SELECT FKCol, FKSubsetCol, 
    ROW_NUMBER() OVER (PARTITION BY FKCol, FKSubsetCol ORDER BY FKCol)