-- 1.递归取出需要的数据
as
(
-- 对于CET通用表达式增加自定义列的问题?-- 附带说明
-- 自定义列必须满足下面二者中的一种,否则报错:[在递归查询 "cet" 的列 "CommType" 中,定位点类型和递归部分的类型不匹配。]
-- a.自定义列CommType显示转换
-- b.或者在使用自定义列时,前面列的长度必须比后面列的长度大
select *,CONVERT(varchar(10),'CA') as 'CommType' from TB_Biz_Account where Account = 10001
union all
select Acc.*,'CAD') as 'CommType' from TB_Biz_Account Acc inner join cet on Acc.Account = cet.IBAccount
where Acc.Account > 0
)
select IDENTITY(int,1,1) as 'ID',*
into #tmpAcc
from cet
where AccountType >= 3 and Account > 1000
select mm.*,
isnull(mm.Policy,0) - isnull(nn.Policy,0)
from #tmpAcc mm
left join #tmpAcc nn on mm.ID = nn.ID + 1
where isnull(mm.Policy,0) > 0
drop table #tmpAcc
总结以上是内存溢出为你收集整理的sqlserver用当前行减去前一行的数据的简单处理方法 -- 不使用循环全部内容,希望文章能够帮你解决sqlserver用当前行减去前一行的数据的简单处理方法 -- 不使用循环所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)