SQL Server 2005+。TSQL按部分聚合篩選
我有以下架構/數據表:
Name Slots Date
---------------------
Bob 1 1/1/2010
Bob 2 1/8/2010
Joe 4 1/2/2010
Nat 1 1/4/2010
Nat 3 1/3/2010
Nat 8 1/9/2010
我需要做的是找到行這對於導致這個名字的槽的總和達到或超過一個特定的名稱任意值 - 假設3.
所以在上面的例子中,Bob有兩行。第二行,日期爲1/8/2010,將作爲1和2 = 3的總和我的匹配。
Joe只有一行,他會匹配,因爲4已經大於3。
NAT有3排,並在他的情況下的匹配的行是第二行以來的1之和的2010年1月3日的日期和3是4,並且圖4是大於3
所以我的結果是:
Name SlotsSum Date
-------------------------
Bob 3 1/8/2010
Joe 4 1/2/2010
Nat 4 1/3/2010
我知道我可以用光標做到這一點,但我希望爲基於集合的方法。
想法?
Nat的順序是否正確?您在示例表格中顯示的日期不合適,我認爲應該讓您的最終結果爲Nat 3 1/3/2010。 – Bert 2012-07-25 22:55:35