假设Column_A连续加1Create view vtest
As
Select (Select column_A+Column_B+column_C  where Column_A = a.Column_A-1) as Top_Row_Tatal,Column_A,Column_B,Column_c
from tableName a

解决方案 »

  1.   

    假设Column_A连续加1Create view vtest
    As
    Select (Select column_A+Column_B+column_C  from tableName where Column_A = a.Column_A-1) as Top_Row_Tatal,Column_A,Column_B,Column_c
    from tableName a
      

  2.   

    若Column_A不连续加1,假设Column_A是递增的Create view vtest
    As
    Select (Select top 1 column_A+Column_B+column_C  from tableName where Column_A < a.Column_A order by Column_A desc) as Top_Row_Tatal,Column_A,Column_B,Column_c
    from tableName a
      

  3.   

    create view v1 as
    select (select Column_A+Column_B+Column_C from table1 
              where Column_A = (select max(Column_A) from table1 
                                 where Column_A < A.Column_A)) as Top_Row_Total,
    Column_A,Column_B,Column_C from table1 as A
      

  4.   

    不好意思,我要实现下面地内容,要怎么做
    To_Row_Toal = 
    第一行 10
    下面行 为上一行Top_Row_Total - Column_A -Column_B-Column_C
    Top_Row_Total  Column_A  Column_B  Column_C
    =================================================
    10 1 1        1
    7 2 2 2
    1 3 3 3
    -8 4 4 4我可以重新开贴给100分
      

  5.   

    若Column_A不连续加1,假设Column_A是递增的
    Try:
    Create view vtest
    As
    Select isNull((Select top 1 top_Row_Total -column_A-Column_B-column_C  from tableName where Column_A < a.Column_A order by Column_A desc),10) as Top_Row_Tatal,
    Column_A,Column_B,Column_c
    from tableName a
      

  6.   

    isNull((Select top 1 top_Row_Total -column_A-Column_B-column_C  from tableName where Column_A < a.Column_A order by Column_A desc),10)一开始tableName 表中无 top_Row_Total 字段
      

  7.   

    Try:
    Create view vtest
    As
    Select 10 - (select sum(Column_A+Column_B+Column_C) from tableName where column_a <= a.Column_a) as top_Row_total, * from tablename a
      

  8.   

    Try:
    Create view vtest
    As
    Select 10 - (select sum(Column_A+Column_B+Column_C) from tableName where column_a < a.Column_a) as top_Row_total, * from tablename a
      

  9.   

    declare @tmp table (a int,b int,c int)
    insert into @tmp values (1,1,1)
    insert into @tmp values(2,2,2)
    insert into @tmp values(3,3,3)
    insert into @tmp values(4,4,4)
    select (case when a = (select min(a) from @tmp) then 0 else (a-1)*3 end ) as total,a, a as b,a as c  from @tmp