私はSQLServer2012を使用しており、次のテーブルがあります。
表Tb1(ID Int, CodeID Int, Value Int
)
ID CodeID Value
----------------------
1 1 10
2 1 14
3 1 5
4 1 25
5 2 12
6 2 17
7 2 4
8 2 10
9 2 6
表Tb2(CodeID Int Value Int
)
CodeID Value
---------------
1 25
2 20
SUM(Tb1.Value)<=Tb2.ValueであるTb1からレコードを取得するためのクエリが必要です
たとえば、上記のレコードの結果は次のとおりです。
Tb1.ID Tb1.CodeID Tb1.Value UsedValue Tb2.Value
--------------------------------------------------------
1 1 10 10 25
2 1 14 14 25
3 1 5 1 25
5 2 12 12 20
6 2 17 8 20
クエリの上にカーソルを使用します。しかし、私のクエリは、パフォーマンスが低く実行されます。カーソルのないクエリが必要です。
編集 1UsedValueは、Tb1.Valueの合計がTb2.Valueよりも低くなるまで、Tb1.Valueです。