我有这样一个SQL Server表,其中有一个字段field,是int类型的,我需要做这样的一个查询语句:查询表中的所有数据并生成一个新字段total,total的取值原则是,该条记录的field值加上上一条记录的field值;也就是第二条记录的total等于第一条记录的field加第二条记录的field,第三条记录的total等于第二条记录的field加第三条记录的field,依此类推...
   请各位大侠指教!

解决方案 »

  1.   


    采用多次关联技术,这里假设ID为int型的标识
    你不妨试试:select 
      ID,field1,
      total1=Field1 + isnull((select B.field1 from Table1 B 
                           where B.ID = (select top 1 C.ID from Table1 C where C.ID<A.ID order by C.ID desc)),0)
    from Table1 A
      

  2.   

    忘了再加上排序:select 
      ID,field1,
      total1=Field1 + isnull((select B.field1 from Table1 B 
                           where B.ID = (select top 1 C.ID from Table1 C where C.ID<A.ID order by C.ID desc)),0)
    from Table1 Aorder by ID