我面臨一個問題,我有一個名爲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+ –