update更新数据问题,大侠请进!

cnwhm 2003-08-23 12:25:55
最近做项目,写了个用于数据汇总的存储过程,但发现速度变慢了,所以去优化它,但优化中出现了不少的问题,请CSDN的朋友们都来帮帮我!
有下面的表:
表1                 表2
单位 二级单位 日产  日期       单位  较昨日 日期
1   1 100  2003-8-22 1 2003-8-23
1 2 80 2003-8-22 2 2003-8-23
1 3 100 2003-8-22 3 2003-8-23
2 1 80 2003-8-22
2 2 100 2003-8-22
3 1 120 2003-8-22
1 1 120 2003-8-23
1 2 100 2003-8-23
1 3 120 2003-8-23
2   1 120 2003-8-23
2 2 100 2003-8-23
3 1 100 2003-8-23
结果:
单位  较昨日 日期
1 60 2003-8-23
2 20 2003-8-23
3 -20 2003-8-23
求在一条sql语句将 表1的每个单位的{今日日产合计>昨日日产合计}}(即表2的较
^^^^^^^^^^^ ^^^^^^^^^^^^
昨日)计算出来,并更新表2的数据?不知可不可以实现,若不行,怎样写效率最优?

谢谢csdn的朋友们这些天孜孜不倦的帮助我!
...全文
75 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
zarge 2003-08-23
  • 打赏
  • 举报
回复
select 单位, 今日日产 - 昨日日产 as 较昨日, getdate()
From
(select 单位, sum(日产) 今日日产 from 表1 where datediff(d, 日期, getdate()) = 0
group by 单位) a inner join
(select 单位, sum(日产) 昨日日产 from 表1 where datediff(d, 日期, getdate() - 1) = 0 group by 单位) b on a.单位 = b.单位
cnwhm 2003-08-23
  • 打赏
  • 举报
回复
结贴!
cnwhm 2003-08-23
  • 打赏
  • 举报
回复
to gmc007(江西的佬表):
  怎么用“update 表2 from ...”?
下面是我在你的基础上改的:

update 表2 set 较昨日=今日日产-昨日日产
from (select 单位,sum(日产) 今日日产 from 表1 where datediff(d, 日期, getdate()) = 0 group by 单位) a inner join
(select 单位,sum(日产) 昨日日产 from 表1 where datediff(d, 日期, getdate()=- 1) group by 单位) b on a.单位=b.单位 where datediff(d, 日期, getdate()) and a.单位=表2.单位

to txlicenhe(不做技术高手):
join 和我面的inner join 的效率好像是一样的,是join的不同写法吧!
txlicenhe 2003-08-23
  • 打赏
  • 举报
回复
update 表2
set 较昨日 = 今日日产 - 昨日日产
From 表2
Join
(select 单位, sum(日产) 今日日产 from 表1 where datediff(d, 日期, getdate()) = 0
group by 单位) a on 表2.单位 = a.单位
join
(select 单位, sum(日产) 昨日日产 from 表1 where datediff(d, 日期, getdate() - 1) = 0 group by 单位) b on a.单位 = b.单位
gmc007 2003-08-23
  • 打赏
  • 举报
回复
同意楼上!

update 表2 from
select 单位, 今日日产 - 昨日日产 as 较昨日, getdate()
From
(select 单位, sum(日产) 今日日产 from 表1 where datediff(d, 日期, getdate()) = 0
group by 单位) a inner join
(select 单位, sum(日产) 昨日日产 from 表1 where datediff(d, 日期, getdate() - 1) = 0 group by 单位) b on a.单位 = b.单位

34,575

社区成员

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

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