谢谢!你所说的只能计算每行的合计,而不是“累计合计”,这个问题我用以下方法解决了,也没有用到开窗函数(不一定是最好的,请多指教):
select t2.khid,t2.df,t2.jf,
(select SUM(isnull(jf,0)-isnull(df,0)) from zm t1 where t2.khid=t1.khid and t1.zmid<=t2.zmid
) as jf-df from dbo.zm t2 order by t2.khid,t2.zmid
因为在有点数据库中可以在OVER()中写入“从首行至本行”这样的条件,我想在SQL2008中也找到这样的写法,这样查询语句就简单多了。可是没找到,只能用以上方法先解决查询了