SQLServer2005以降。
次のスキーマ/データを含むテーブルがあります。
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としましょう。
したがって、上記の例では、ボブには2つの行があります。2010年1月8日の日付の2行目は、1と2=3の合計としての私の一致になります。
ジョーには1行しかなく、4はすでに3より大きいので、彼は一致します。
ナットには3つの行があり、彼の場合、1と3の合計が4であり、4が3より大きいため、一致する行は2010年1月3日の日付の2番目の行です。
したがって、私の結果は次のとおりです。
Name SlotsSum Date
-------------------------
Bob 3 1/8/2010
Joe 4 1/2/2010
Nat 4 1/3/2010
カーソルでこれを実行できることはわかっていますが、セットベースのアプローチを望んでいます。
考え?