我使用 SQL Server 2012,我有这些表:
表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
我想要查询从 Tb1 获取 SUM(Tb1.Value) <= Tb2.Value 的记录
例如上述记录的结果是:
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
我使用游标来获取上述查询。但是我的查询以低性能执行。我想要一个没有光标的查询。
编辑 1 UsedValue 是 Tb1.Value,直到 Tb1.Value 的总和低于 Tb2.Value。