以日期升序排 数量总额减去14后的结果 这sql怎么写
来源:互联网 发布:virgo薇碧 知乎 编辑:程序博客网 时间:2024/04/28 12:23
产品 数量 日期 单据号
a 10 9.1 001
a 3 9.2 002
a 4 9.3 003
a 2 9.4 004
以日期升序排 数量总额减去14后的结果
产品 数量 日期 单据号
a 3 9.3 003
a 2 9.4 004
这个sql 怎么写?
方法一:create table tb(产品 varchar(2), 数量 int, 日期 varchar(4), 单据号 varchar(4))
insert into tb
select 'a',10,'9.1','001' union all
select 'a',3,'9.2','002' union all
select 'a',4,'9.3','003' union all
select 'a',2,'9.4','004'
select * from tb
declare @num int,@t int
set @num=14
set @t=0
update tb set 数量=case when 数量>=@num then 数量-@num else 0 end,@num=@num-@t,
@t=case when 数量>=@num then @num else 数量 end
select * from tb where 数量>0
drop table tb
方法二:(未测试)
select t.p,case when (select sum(qty) from @t where dt<t.dt)<=14 then (select sum(qty) from @t where dt<=t.dt)-14 else qty end as qty,t.dt,t.num
from @t t
where (select sum(qty) from @t where dt<=t.dt)>14
- 以日期升序排 数量总额减去14后的结果 这sql怎么写
- 报表查询sql,分组后汇总数量和计算总额
- SQL 以日期动态更新维护的数据,一周排程时间日期设计
- SQL以日期动态更新维护的数据,一周排程时间日期
- SQL中让某列的字段作为返回结果的列名 (比如物品,日期,数量)
- SQL:DATAADD() 日期中添加或减去指定的时间间隔
- 最大值减去最小值小于等于num的子数组数量
- vc odbc 连接后,执行sql查询语句,怎么输出查询的结果
- 将无序数列升序排列,并输出排列结果和排列后的下标
- 在sql的条件里进行日期添加或减去一个值(年月日的一个值)
- 当前日期减去指定天数后 ,日期没有减少反而增加了
- 分组数据后再MAX。。SQL怎么写
- 在PB中计算指定日期相对数量单位前(后)的日期
- delphi 中实现当期日期 减去 若干小时的方法
- DATE_SUB() 函数从日期减去指定的时间间隔
- 请问,在oracle 怎么写sql语句查询dwm数据库以t开头的表啊,谢谢,急
- 写个函数计算所有传入参数相乘的结果(参数数量不定)
- 一个date减去相应的天数后得到另一个date
- Sun终于使Java成为开源软件 采用GPL许可
- 庞加莱 (Jules Henri Poincaré)
- 对数学未来的思考
- 诺贝尔经济学奖与数学
- sybaseASE 命令行建服务
- 以日期升序排 数量总额减去14后的结果 这sql怎么写
- c#里的属性(转)
- Windows精解:窗口类释疑
- 今天你Shlemiel了吗
- 周其仁:经济增长与企业成长
- 二十一世纪科学和数学的趋势
- using INSTR function for obtaining data from a table, based on a selection from the master table (FK relation)
- 人工神经网络
- 移动硬盘分区误删后修复手记