Update 急

wujinyuan 2007-11-28 05:52:22
表test(Id int,value int)
insert into test values(1,12)
insert into test values(2,22)
insert into test values(3,42)
insert into test values(4,52)

sum(value) 总数是为128
要实现功能 如有一个数 我要用 test里面的value值减cc=55
第一笔 if value> =cc then value = value-cc,cc=0 --将value的值update 到test 表中
if value < cc then value = 0,cc=cc-value --将value的值update 到test 表中
--如果cc大于0 就减下一笔。。一直减到cc为0 注意表test sum(value)一定是大于cc的

使结果如下
1,0
2,0
3,21
4,52
...全文
166 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
wujinyuan 2007-11-29
  • 打赏
  • 举报
回复
这是 无枪狙击手 写的。。功能要和他的一样。。但我不想用游标。还有其它方法吗?》
create table test(Id int,value int)
insert into test values(1,12)
insert into test values(2,22)
insert into test values(3,42)
insert into test values(4,52)

declare @cc int
set @cc = 55
declare @id int
declare @value int
declare cur cursor for select id,value from test
open cur
fetch next from cur into @id,@value
while @@fetch_status = 0
begin
if @value < @cc
begin
update test set value = 0 where id = @id
set @cc = @cc - @value
end
else
begin
update test set value = value - @cc where id = @id
set @cc = 0
end
if @cc = 0 break
fetch next from cur into @id,@value
end
close cur
deallocate cur
select * from test

/*


Id value
----------- -----------
1 0
2 0
3 21
4 52

(所影响的行数为 4 行)
*/
drop table test
hui_hui_2007 2007-11-28
  • 打赏
  • 举报
回复
因为目前论坛有bug,会插入很多空格,所以将代码直接贴上来,会看不清.
所以建议楼主将sql代码用
<code=SQL>

</code>
包含起来,就好看多了.将<号变成 [ 号
hui_hui_2007 2007-11-28
  • 打赏
  • 举报
回复
因为目前论坛有bug,会插入很多空格,所以将代码直接贴上来,会看不清.
所以建议楼主将sql代码用
 
包含起来,就好看多了.
earthpea 2007-11-28
  • 打赏
  • 举报
回复
看不懂~~~~
云中客 2007-11-28
  • 打赏
  • 举报
回复
呵呵,看不明白楼主的结果是怎么出来的
还有那个CC倒底是多少,Value又是多少,是不是楼主给的结果也有问题???!!!
dawugui 2007-11-28
  • 打赏
  • 举报
回复
我估计是个累计算法.

不过还是没怎么看明白.
hh1314588 2007-11-28
  • 打赏
  • 举报
回复
看的不是很明白啊!
内容概要:本文围绕基于NSGA-2算法的电-热-气综合需求响应(IDR)在综合能源系统中的多目标优化问题展开研究,提出了一种融合智能优化算法与能源系统协同调度的解决方案。研究系统性地构建了包含电力、热力与天然气多能耦合的综合能源系统模型,设计了以能效提升、运行成本降低和环境效益优化为目标的多目标优化框架,并采用NSGA-2算法求解该复杂非线性优化问题,获得Pareto最优解集。文中详细阐述了IDR机制建模方法、多目标优化问题的数学建模过程以及NSGA-2算法的关键实现步骤,包括编码方式、交叉变异策略与非支配排序机制,并通过Matlab代码实现了完整的仿真验证流程,展示了该方法在平衡多个冲突目标方面的优越性能。; 适合人群:具备电力系统、能源系统建模或优化算法基础的研究生、科研人员及工程技术人员,特别适用于从事综合能源系统规划、需求响应策略设计、多目标进化算法应用等相关领域的研究人员; 使用场景及目标:①应用于综合能源系统的运行优化与规划决策,支持多能互补场景下的协同调度分析;②为科研工作者提供NSGA-2算法在能源系统中实际应用的完整Matlab代码实现范例,助力学术论文复现、算法改进与模型拓展; 阅读建议:建议读者结合文中提供的Matlab代码,按照系统建模、目标函数设计、约束处理到算法实现的研究脉络逐步学习,重点关注Pareto前沿的生成过程、多目标权衡分析及算法参数敏感性,以深入掌握多目标进化算法在复杂能源系统优化中的工程化应用方法。

34,875

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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