sql 递减计算语句

[复制链接]
查看11 | 回复3 | 2010-11-25 11:35:46 | 显示全部楼层 |阅读模式
编号
字段1
字段2
字段3
1
a1
b1
c1
2
a2
b2
c2
3
a3
b3
c3
.........
c2=c1+a2-b2
c3= c2+a3-b3
计算C2,C3的SQL语句怎么写?

回复

使用道具 举报

千问 | 2010-11-25 11:35:46 | 显示全部楼层
倘若编号连续UPDATE tab t1SET 字段3 = 字段1 - 字段1
+ (SELECT 字段3 FROM tab WHERE 编号 = t1.编号)WHERE 编号 > 1 倘若编号不连续, UPDATE tab t1SET 字段3 = 字段1 - 字段1
+ (SELECT 字段3
FROM tab
WHERE 编号 =
(SELECT MAX(编号) FROM tab WHERE 编号1
回复

使用道具 举报

千问 | 2010-11-25 11:35:46 | 显示全部楼层
use Tempdbgo--> -->if not object_id(N'Tempdb..#') is null drop table #GoCreate table #([编号] int,[字段1] INT,[字段2] INT,[字段3] INT)Insert #select 1,1,10,0 union all
回复

使用道具 举报

千问 | 2010-11-25 11:35:46 | 显示全部楼层
C1有确定是多少吧?update tbset col3=a.col1+isnull(b.col3,0)-a.col2from tb a left join tb bon a.编号=b.编号+1where a.编号>1
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行