Sql 如何在不更改原始值的情况下选择记录,直到获得值为止?
我有两个表,结构如下: 我想从表1中选择记录,直到我达到表2中相应的记录金额,而不改变数量。示例:productId 232的订单有160个单位,我必须在表1中搜索,直到我填写160,最后一条记录必须完整,也就是说,不是2行60个单位,第三行40个单位,而是3行60个单位,这样我就可以在不更改原始数量的情况下得到订单数量。结果如下所示: 有可能达到这个结果吗?使用累计总和:Sql 如何在不更改原始值的情况下选择记录,直到获得值为止?,sql,sql-server,Sql,Sql Server,我有两个表,结构如下: 我想从表1中选择记录,直到我达到表2中相应的记录金额,而不改变数量。示例:productId 232的订单有160个单位,我必须在表1中搜索,直到我填写160,最后一条记录必须完整,也就是说,不是2行60个单位,第三行40个单位,而是3行60个单位,这样我就可以在不更改原始数量的情况下得到订单数量。结果如下所示: 有可能达到这个结果吗?使用累计总和: select t2.*, t1.* from (select t1.*, sum(qty) over (partition
select t2.*, t1.*
from (select t1.*, sum(qty) over (partition by product_id order by reg) as running_qty
from table1 t1
) t1 join
table2 t2
on t1.product = t2.product
where running_qty - qty < t2.order_qty