我面临一个问题,我有一个名为Group
的表格和一个名为Entry
的表格。 Group
表具有主键Id
。 Entry
表具有主键Id
,Group
表的Id
的外键被称为GroupId
。 Entry
表还有一列Weight
。这Weight
是一个整数,它所做的就是告诉我排序权重,其中0显示在顶部。如何将增量编号添加到分组系列中的每个元素?
基本上发生的是,有人在设计数据库时使这个Weight
字段为空。现在我需要通过并调整Weight
以适应我们打算添加的UNIQUE
约束:UNQIUE(GroupId, Weight)
到Entry
表。这可以防止两个Entry
条目在基本处于同一组时具有相同的排序权重。
什么查询将让我去通过我们现有的数据和简单的数对每个条目上逐组基础和N的Weight
列从0其中N为Entry
条目在Group
多少?我想根据Entry
的Id
设置权重,以便给定Group
中的Entry
的最低Id
得到最低Weight
。
我想要一个将通过Group
表的大ol查询,加入所有Entry
条目,然后遍历它们并分配序列。但是,我不知道从哪里开始。
[ROW_NUMBER(http://msdn.microsoft.com/en-us/library/ms186734.aspx) - SQL服务器2005+ –