求一条SQL运算语句,多谢!

shier2817 2014-04-11 06:41:29
表A,存储每日营业数据,主要字段如下(为描述清晰此处我用中文假设字段名):
班次索引、起始时间、结束时间、本班收入……
表中有N条,我们随时可以对给定的时间范围 SUM 来获取总收入。
-----------------------------------------------------------
现在的要求是统一改账:就是给定个时间范围,然后再给定这个范围要修改的总金额,怎么通过SQL查询根据每天原始收入算出每天应修改的目标金额?
不是那么简单,因为每天收入不固定,可能比较多,也可能很少,这里有一个要求就是不允许每天最终修改的金额低于一个限制,就是因为这个要求,我鼓捣了很久也算不出。。。
-----------------------------------------------------------
例如,我们修改一个范围:
start = 1号,end = 30号,一共30天的数据;
30天合计原始收入 total = SUM 这个日期范围即可;
要求修改后每天收入限制 n 为100元,就是最小每天不得低于100;
原始每天收入随机,当然可以查询的到;
现在假设要修改这30天的总收入为 x (这个目标总金额的合法性无需考虑,不会给定一个小于 天数*每天限额的数的,在例子中就是绝对不会给出小于 30*100 = 3000 的数的,同时也绝对会比原始的总收入小。当然,上面提到的原始总收入跟不会比这个3000小的。就是所有数据都会合法,不会出现无法计算的可能)。

现在我该怎么通过SELECT 来计算出按照原始日收入的比例,算出现在每天应该修改为多少收入呢?当然要满足最小限制那个条件。

万分感谢您的回答!
...全文
157 4 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
「已注销」 2014-04-12
  • 打赏
  • 举报
回复
咋没人回呢?
「已注销」 2014-04-11
  • 打赏
  • 举报
回复
我要获取的是每天的。。。类似于:
SELECT 每日收入/total*x
如果没有那个n的限制,我这么写就可以了。。这样就是 原始日收入比例 * 目标总收入 = 每日目标收入。。 可是有了这个n的限制,我就不知道该怎么算咯。。。
「已注销」 2014-04-11
  • 打赏
  • 举报
回复
晕,楼上的貌似没看懂。。。n-total是个啥啊? n就是个限制,暂定为100元。。 total可是这段时间范围的总收入,可能是1万、10万、100万哦。。。 假设是10万好了,我下面给出的x,比如是2万,就是说要把30天总收入为10万的账目修改为总收入为2万的账目。。。且每天不得低于100元。。。 这样说能理解吧?
哥眼神纯洁不 2014-04-11
  • 打赏
  • 举报
回复
select sum(case when n-total<0 then 0 else n-total end) from 表 你要总数就这么写,要每天的就把sum去了

22,300

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧