MyException - 我的异常网
当前位置:我的异常网» Sql Server » sql 2条记录共享一个数值并且从下到上满足并分配

sql 2条记录共享一个数值并且从下到上满足并分配

www.MyException.Cn  网友分享于:2013-02-20  浏览:4次
sql 2条记录共享一个数值并且从上到下满足并分配

本帖最后由 myfanjun 于 2013-2-4 16:15 编辑


idx        fname        fmodel        fqty        p        sumfqty
1        A1        0.20000        89.00000        K        150.00000
2        A1        0.20000        89.00000        K        150.00000
3        A2        0.50000        20.00000        K1        10.00000
4        A2        0.50000        20.00000        K1        10.00000

根据sumfqty的值(p和fmodel的值一样)
从上到下满足fqty的值,不足下次自动补足
idx        fname        fmodel        fqty        p        sumfqty
1        A1        0.20000        89.00000        K        89
2        A1        0.20000        89.00000        K        61(不足,还剩下28个就满足了)

3        A2        0.50000        20.00000        K1       10(不足,还剩下10个就满足了)
4        A2        0.50000        20.00000        K1      0
..............................

请问这样的SQL语句怎么写?

------解决方案--------------------
-- data
if object_id('tempdb.dbo.#') is not null drop table #
create table #(idx int, fname varchar(8), fmodel float, fqty float, p varchar(8), sumfqty float)
insert into #
select 1, 'A1', 0.20000, 89.00000, 'K', 150.00000 union all
select 2, 'A1', 0.20000, 89.00000, 'K', 150.00000 union all
select 3, 'A2', 0.50000, 20.00000, 'K1', 10.00000 union all
select 4, 'A2', 0.50000, 20.00000, 'K1', 10.00000

-- query
;with tmp as
(
select *, v=sumfqty-(select isnull(sum(fqty),0) from # where p=t.p and fmodel=t.fmodel and idx<t.idx) from # t

文章评论

软件开发程序错误异常ExceptionCopyright © 2009-2015 MyException 版权所有