当我插入表时,我有两列重要的列,外键列和该外键的子集。例如,我可以使用以下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
每个键的子集数量不同,我只需要一种方法为每个不同的键和子集创建一个增量值,这将导致上面的第三列。我怎么能这样做?
答案 0 :(得分:2)
您可以使用ROW_NUMBER
:
INSERT INTO MyTable (C1, C2, C3)
SELECT FKCol, FKSubsetCol,
ROW_NUMBER() OVER (PARTITION BY FKCol, FKSubsetCol ORDER BY FKCol)