问题是这样的,一个GridView,我用2个FOR循环(调用存储过程)将值插入GridView的每一个单元格中 
我现在想在每一行和每一列的最后一个单元格计算出这一行和这一列的和 
请问在数据库中怎么实现?

解决方案 »

  1.   

    不就再用两个for循环去累加每一行,每一列的值?.跟数据库有关?
      

  2.   

    declare @tb table(a int,b int,c int)
    insert into @tb select 1,1,1
    insert into @tb select 2,2,2
    insert into @tb select 3,3,3
    insert into @tb select 4,4,4
    insert into @tb select 5,5,5
    select a,b,c,sum(a+b+c) as [sum]
    from @tb
    group by a,b,cunion allselect sum(a),sum(b),sum(c),sum(a+b+c) as [sum]
    from @tba b c sum
    1 1 1 3
    2 2 2 6
    3 3 3 9
    4 4 4 12
    5 5 5 15
    15 15 15 45这个?
      

  3.   

    CREATE PROCEDURE GetCardNo
        @SANAUSERID uniqueidentifier,
        @SYEAR int,
        @SMONTH int
    AS
    BEGIN
        SET NOCOUNT ON;
    SELECT    SANAREBATELIST.CardNo
    FROM    SANAREBATELIST INNER JOIN SANAREBATE 
    ON SANAREBATELIST.PK_SANAREBATE = SANAREBATE.PK_SANAREBATE
    WHERE (SANAREBATELIST.SANAUSERID = @SANAUSERID) AND (SANAREBATELIST.SYEAR = @SYEAR) AND (SANAREBATELIST.SMONTH = @SMONTH) AND (SANAREBATE.STATE = 1)
    END
    GO
    我现在就是用这个存储过程将数据绑定要GridView里的,现在能用在这里面将和计算出来吗?
      

  4.   

    你都查出来了,然后就剩下绑定datatable了datatable tb = db.getlist(@"select a,b,c,sum(a+b+c) as [sum]
    from 表名
    group by a,b,c
    union all
    select sum(a),sum(b),sum(c),sum(a+b+c) as [sum]
    from 表名 ");
    gridview1.datasource= tb;
    gridview1.databind();