--> liangCK小梁 于2008-11-02
 
--> 生成测试数据: @T
DECLARE @T TABLE (id VARCHAR(10),xsje NUMERIC(7,2))
INSERT INTO @T
SELECT '0000500002',-8900.00 UNION ALL
SELECT '0000500002',8900.00 UNION ALL
SELECT '0000500002',7130.00 UNION ALL
SELECT '0000500002',2730.00 UNION ALL
SELECT '0000500002',3900.00 UNION ALL
SELECT '0000500002',4503.80 UNION ALL
SELECT '0000500002',3340.00 UNION ALL
SELECT '0000500002',374.00 UNION ALL
SELECT '0000500002',-14440.00 UNION ALL
SELECT '0000500002',14440.00 UNION ALL
SELECT '0000500002',12370.00 UNION ALL
SELECT '0000500002',2300.00 UNION ALL
SELECT '0000500002',1150.00 UNION ALL
SELECT '0000500002',3580.00 UNION ALL
SELECT '0000500002',4702.00 UNION ALL
SELECT '0000500002',2430.00 UNION ALL
SELECT '0000500002',115.00 UNION ALL
SELECT '0000500002',575.00 UNION ALL
SELECT '0000500002',200.00 UNION ALL
SELECT '0000500002',550.00 UNION ALL
SELECT '0000500002',3855.00 UNION ALL
SELECT '0000500002',2665.00 UNION ALL
SELECT '0000500002',765.00 UNION ALL
SELECT '0000500002',300.00 UNION ALL
SELECT '0000500002',2695.00 UNION ALL
SELECT '0000500002',820.00 UNION ALL
SELECT '0000500002',105.00 UNION ALL
SELECT '0000500002',600.00 UNION ALL
SELECT '0000500002',180.00 UNION ALL
SELECT '0000500002',700.00 UNION ALL
SELECT '0000500002',3730.00 UNION ALL
SELECT '0000500002',1498.00 UNION ALL
SELECT '0000500002',96.00 UNION ALL
SELECT '0000500002',1413.00 UNION ALL
SELECT '0000500002',2359.00 UNION ALL
SELECT '0000500002',30.00 UNION ALL
SELECT '0000500002',114.00 UNION ALL
SELECT '0000500002',892.00 UNION ALL
SELECT '0000500002',180.00 UNION ALL
SELECT '0000500002',2080.00 UNION ALL
SELECT '0000500002',16694.00 UNION ALL
SELECT '0000500002',525.00 UNION ALL
SELECT '0000500002',84.00 UNION ALL
SELECT '0000500002',350.00 UNION ALL
SELECT '0000500002',6841.00--SQL查询如下:SELECT SUM(xsje) AS xsje
FROM @T/*
xsje
---------------------------------------
99520.80(1 行受影响)*/

解决方案 »

  1.   

    --> liangCK小梁 于2008-11-02
     
    --> 生成测试数据: @T
    DECLARE @T TABLE (id VARCHAR(10),xsje NUMERIC(7,2))
    INSERT INTO @T
    SELECT '0000500002',-8900.00 UNION ALL
    SELECT '0000500002',8900.00 UNION ALL
    SELECT '0000500002',7130.00 UNION ALL
    SELECT '0000500002',2730.00 UNION ALL
    SELECT '0000500002',3900.00 UNION ALL
    SELECT '0000500002',4503.80 UNION ALL
    SELECT '0000500002',3340.00 UNION ALL
    SELECT '0000500002',374.00 UNION ALL
    SELECT '0000500002',-14440.00 UNION ALL
    SELECT '0000500002',14440.00 UNION ALL
    SELECT '0000500002',12370.00 UNION ALL
    SELECT '0000500002',2300.00 UNION ALL
    SELECT '0000500002',1150.00 UNION ALL
    SELECT '0000500002',3580.00 UNION ALL
    SELECT '0000500002',4702.00 UNION ALL
    SELECT '0000500002',2430.00 UNION ALL
    SELECT '0000500002',115.00 UNION ALL
    SELECT '0000500002',575.00 UNION ALL
    SELECT '0000500002',200.00 UNION ALL
    SELECT '0000500002',550.00 UNION ALL
    SELECT '0000500002',3855.00 UNION ALL
    SELECT '0000500002',2665.00 UNION ALL
    SELECT '0000500002',765.00 UNION ALL
    SELECT '0000500002',300.00 UNION ALL
    SELECT '0000500002',2695.00 UNION ALL
    SELECT '0000500002',820.00 UNION ALL
    SELECT '0000500002',105.00 UNION ALL
    SELECT '0000500002',600.00 UNION ALL
    SELECT '0000500002',180.00 UNION ALL
    SELECT '0000500002',700.00 UNION ALL
    SELECT '0000500002',3730.00 UNION ALL
    SELECT '0000500002',1498.00 UNION ALL
    SELECT '0000500002',96.00 UNION ALL
    SELECT '0000500002',1413.00 UNION ALL
    SELECT '0000500002',2359.00 UNION ALL
    SELECT '0000500002',30.00 UNION ALL
    SELECT '0000500002',114.00 UNION ALL
    SELECT '0000500002',892.00 UNION ALL
    SELECT '0000500002',180.00 UNION ALL
    SELECT '0000500002',2080.00 UNION ALL
    SELECT '0000500002',16694.00 UNION ALL
    SELECT '0000500002',525.00 UNION ALL
    SELECT '0000500002',84.00 UNION ALL
    SELECT '0000500002',350.00 UNION ALL
    SELECT '0000500002',6841.00--SQL查询如下:SELECT SUM(xsje) AS xsje
    FROM @T
    WHERE id='0000500002'/*
    xsje
    ---------------------------------------
    99520.80(1 行受影响)
    */
      

  2.   

    select sum(xsje) from tb WHERE id='0000500002'
    结果为99520.80如果语句没有错的,没有打补丁?打下补丁试试。
      

  3.   

    --看看ID字段是不是有特殊字符号,从而导致影响行数与你给出不符合
    --你看看
    select count(xsje) from TA  where id='0000500002'
    --影响的行数与你贴出来的行数是否一致 
      

  4.   

    您的 xsje NUMERIC(7,2))我的表  XSJE(9,2) 与这个有关系吗
      

  5.   

    运行一下:
    select id,xsje from TA  where id='0000500002' 
    看看是哪些行在上面贴出来的行之外.另外,你上面那些数据是怎么弄出来的?
      

  6.   

    按照风哥的语句直接TEST下看结果。。
      

  7.   

    聚合函数一般要用Group by
    select id,xsje from TA  where id='0000500002' select xsje from TA  where id='0000500002' group by id