(SELECT Date(B.BusinessDate) as Date, C.CustomerName AS Name,B.total as Amount,
 sum(IF(E.PaymentType='Cash',A.Amount,0)) AS 'Cash', sum(IF(E.PaymentType='MASTERS',A.Amount,0)) AS 'MASTERS',
 sum(IF(E.PaymentType='VISA',A.Amount,0)) AS 'VISA', sum(IF(E.PaymentType='NETS',A.Amount,0)) AS 'NETS',
 0 as Deposit, sum(IF(A.Group1='ABRSM',A.Amount,0)) AS 'ABRSM', sum(IF(A.Group1='ENROL',A.Amount,0)) AS 'ENROL',
 sum(IF(A.Group1='LCM',A.Amount,0)) AS 'LCM', sum(IF(A.Group1='O.INCOME',A.Amount,0)) AS 'O.INCOME',
 sum(IF(A.Group1='SCH FEE',A.Amount,0)) AS 'SCHFEE', sum(IF(A.Group1='SUNDRIES',A.Amount,0)) AS 'SUNDRIES',
 B.Notes as Description,B.Subtotal As Subtotal,B.TransID as TransID  From TransDetail A
 INNER JOIN Trans B ON A.TransID = B.TransID  INNER JOIN Customers C ON B.CustomerNumber = C.CustomerNumber
 Inner JOIN Group1 D on A.Group1=D.GroupName  Inner JOIN TransPayment E on A.TransID=E.TransID
 WHERE B.BusinessDate  Between '2010-12-01' And  '2011-01-11'
 GROUP BY  b.TransID,C.CustomerName ORDER BY b.TransID,C.CustomerName )
 UNION ALL
 (Select Date(A.TransDate) as Date,B.CustomerName as Name,sum(if(A.TransStatus=1,1,-1)*A.Amount) as Amount,
 sum(IF(A.DepositType='Cash',A.Amount,0)) AS 'Cash', sum(IF(A.DepositType='MASTERS',A.Amount,0)) AS 'MASTERS',
 sum(IF(A.DepositType='VISA',A.Amount,0)) AS 'VISA', sum(IF(A.DepositType='NETS',A.Amount,0)) AS 'NETS',
 sum(if(A.TransStatus=1,1,-1)*A.Amount) as 'Deposit', 0,0,0,0,0,0,A.Description as Description,
 sum(if(A.TransStatus=1,1,-1)*A.Amount) as Subtotal,Concat('DP',A.DepositID) as TransID  From DepositDetail A
 Inner Join Customers B on A.CustomerNumber=B.CustomerNumber
 Where A.TransDate  Between '2010-12-01' And  '2011-01-11'
 Group by A.TransDate,A.CustomerNumber  Order by A.TransDate,A.CustomerNumber)
 Order by Date,replace(TransID,'DP',"")+ 0
RESULT: '2010-12-31', 'DAPHNE NEO CI EN', 50.0000, 50.0000, 0.0000, 0.0000, 0.0000, 50.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 'top-up  SchoolFee', 50.0000, 'DP1'
'2010-12-31', 'DAPHNE NEO CI EN', 50.0000, 50.0000, 0.0000, 0.0000, 0.0000, 50.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 'top-up  SchoolFee', 50.0000, 'DP2'
'2010-12-31', 'POH KAI WEN', 100.0000, 100.0000, 0.0000, 0.0000, 0.0000, 100.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 'top-up  SchoolFee', 100.0000, 'DP3'
'2010-12-31', 'POH KAI WEN', 100.0000, 100.0000, 0.0000, 0.0000, 0.0000, 100.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 'top-up  SchoolFee', 100.0000, 'DP4'
'2010-12-31', 'POH KAI WEN', 50.0000, 50.0000, 0.0000, 0.0000, 0.0000, 50.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 'top-up  SchoolFee', 50.0000, 'DP5'
'2010-12-31', 'WONG LEE SAN', 20.0000, 20.0000, 0.0000, 0.0000, 0.0000, 20.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 'top-up  SchoolFee', 20.0000, 'DP6'
'2010-12-31', 'LIM TECK JIN SHAWN', 50.0000, 50.0000, 0.0000, 0.0000, 0.0000, 50.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 'top-up  SchoolFee', 50.0000, 'DP7'
'2010-12-31', 'LIM TECK JIN SHAWN', 10.0000, 10.0000, 0.0000, 0.0000, 0.0000, 10.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 'top-up  SchoolFee', 10.0000, 'DP8'
'2010-12-31', 'KALYISAH BTE ISMAIL', 4.3000, 4.3000, 0.0000, 0.0000, 0.0000, 4.3000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 'top-up  SchoolFee', 4.3000, 'DP9'
'2010-12-31', 'KALYISAH BTE ISMAIL', 8.0000, 8.0000, 0.0000, 0.0000, 0.0000, 8.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 'top-up  SchoolFee', 8.0000, 'DP10'
'2010-12-31', 'LEOW PEI SHAN JAYSLEEN', 4.0000, 4.0000, 0.0000, 0.0000, 0.0000, 4.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 'top-up  SchoolFee', 4.0000, 'DP11'
'2010-12-31', 'LEOW PEI SHAN JAYSLEEN', 5.0000, 5.0000, 0.0000, 0.0000, 0.0000, 5.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 'top-up  SchoolFee', 5.0000, 'DP12'
'2010-12-31', 'LIM JIA QI', 6.0000, 6.0000, 0.0000, 0.0000, 0.0000, 6.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 'top-up  SchoolFee', 6.0000, 'DP13'
'2010-12-31', 'WONG WEY HAN', 80.0000, 80.0000, 0.0000, 0.0000, 0.0000, 80.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 'top-up  SchoolFee', 80.0000, 'DP14'
'2010-12-31', 'HOR SHARON KAUR', 60.0000, 60.0000, 0.0000, 0.0000, 0.0000, 60.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 'top-up  SchoolFee', 60.0000, 'DP15'
'2010-12-31', 'HOR SHARON KAUR', 80.0000, 80.0000, 0.0000, 0.0000, 0.0000, 80.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 'top-up  SchoolFee', 80.0000, 'DP16'
'2010-12-31', 'HOR SHARON KAUR', 80.0000, 80.0000, 0.0000, 0.0000, 0.0000, 80.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 'top-up  SchoolFee', 80.0000, 'DP17'
'2010-12-31', 'HOR SHARON KAUR', 80.0000, 80.0000, 0.0000, 0.0000, 0.0000, 80.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 'top-up  SchoolFee', 80.0000, 'DP18'
'2010-12-31', 'HOR SHARON KAUR', 70.0000, 70.0000, 0.0000, 0.0000, 0.0000, 70.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 'top-up  SchoolFee', 70.0000, 'DP19'
'2010-12-31', 'HOR SHARON KAUR', 20.0000, 20.0000, 0.0000, 0.0000, 0.0000, 20.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 'top-up  SchoolFee', 20.0000, 'DP20'
'2010-12-31', 'NUR SHAKIRAH BTE ROHAIZAD', 800.0000, 800.0000, 0.0000, 0.0000, 0.0000, 800.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 'top-up  SchoolFee', 800.0000, 'DP21'
'2011-01-04', 'DAPHNE NEO CI EN', 666.0000, 666.0000, 0.0000, 0.0000, 0.0000, 0.0000, 63.0000, 0.0000, 0.0000, 0.0000, 603.0000, 0.0000, '', 666.0000, '1'
'2011-01-04', 'AMOS NG ZHENG JIE', 17.0000, 17.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 6.0000, 11.0000, '', 17.0000, '2'
'2011-01-04', 'POH KAI WEN', 24.4000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 21.4000, 3.0000, 0.0000, 0.0000, 0.0000, '', 24.4000, '3'
'2011-01-04', 'AMOS NG ZHENG JIE', 146.0000, 146.0000, 0.0000, 0.0000, 0.0000, 0.0000, 80.0000, 0.0000, 60.0000, 0.0000, 0.0000, 6.0000, '', 146.0000, '4'
'2011-01-04', 'AMOS NG ZHENG JIE', 86.0000, 86.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 80.0000, 6.0000, 0.0000, '', 86.0000, '5'
'2011-01-04', 'DAPHNE NEO CI EN', 90.0000, 90.0000, 0.0000, 0.0000, 0.0000, 0.0000, 90.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, '', 90.0000, '6'
'2011-01-04', 'POH KAI WEN', 60.0000, 60.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 60.0000, '', 60.0000, '7'
'2011-01-04', 'DENNIS LEONG REN KANG', 930.0200, 930.0200, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 930.0200, '', 930.0200, '8'
'2011-01-04', 'TANG JING WEN', 90.2300, 0.0000, 0.0000, 0.0000, 90.2300, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 90.2300, 0.0000, '', 90.2300, '9'
'2011-01-04', 'TANG JING WEN', 21.4000, 21.4000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 21.4000, 0.0000, 0.0000, 0.0000, 0.0000, '', 21.4000, '10'
'2011-01-05', 'TOH XIANG XUAN', 122.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 122.0000, 0.0000, '', 122.0000, '14'
'2011-01-05', 'DAPHNE NEO CI EN', 86.4000, 86.4000, 0.0000, 0.0000, 0.0000, 0.0000, 5.0000, 21.4000, 0.0000, 0.0000, 0.0000, 60.0000, '', 86.4000, '15'
'2011-01-05', 'WONG WEY HAN', 129.0000, 129.0000, 0.0000, 0.0000, 0.0000, 0.0000, 79.0000, 0.0000, 50.0000, 0.0000, 0.0000, 0.0000, '', 129.0000, '16'
'2011-01-05', 'RYAN YANG QIAN JUN', 62.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 12.0000, 0.0000, 0.0000, 0.0000, 50.0000, 0.0000, '', 62.0000, '17'
'2011-01-05', 'PHOEBE LIM SHI YUE', 150.0000, 150.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 150.0000, 0.0000, '', 150.0000, '18'
'2011-01-05', 'HOR SHARON KAUR', 110.0000, 110.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 60.0000, 0.0000, 50.0000, 0.0000, '', 110.0000, '19'
'2011-01-05', 'TOH XIANG XUAN', 100.0000, 100.0000, 0.0000, 0.0000, 0.0000, 100.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 'Top-up SchoolFee', 100.0000, 'DP22'
'2011-01-05', 'TOH XIANG XUAN', 50.0000, 0.0000, 0.0000, 0.0000, 0.0000, 50.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 'Top-up SchoolFee', 50.0000, 'DP23'
'2011-01-06', 'DAPHNE NEO CI EN', 6.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 6.0000, 0.0000, '', 6.0000, '20'
'2011-01-06', 'DAPHNE NEO CI EN', -6.0000, 0.0000, 0.0000, 0.0000, 0.0000, -6.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 'Redeem Deposit', -6.0000, 'DP24'
因为涉及的表很多,数据也很多,所以没办法贴出来。违法狼头的规定了。把每日的SUBTOTAL的统计出来,放在每日的最后一条数据上。事情紧急,有事我先出去了。

解决方案 »

  1.   

    倒数第2个数据就是SUBTOTAL的数据。统计每日的SUBTOTAL,然后放在每日的最后一条数据里。其他的为0。
      

  2.   

    贴建表及插入记录的SQL,及要求结果出来看看每日的最后一条数据
    表中有无唯一标识的字段,
      

  3.   

    楼主详细说明要求结果,
    贴建表及插入记录的SQL,贴要求结果出来看看
      

  4.   

    不好意思各位,刚从客户那边回来了。
    目前我的SUBTOTAL的数据只是每张单的数据,我要的是当日的SUBTOTAL的总和,然后放在当日的最后一条数据。
      

  5.   

    GROUP BY  WITH ROLLUP                  加上这个修饰  在最后一行输出个各行的汇总
    出excel表的话用其计算也行
      

  6.   

    只要SUBTOTAL的合计,放在最后1条记录中,是替换还是INSERT 1条新记录,
    考虑用变量来解决
      

  7.   

    意思就是每一天需要一个SUBTOTAL的总数,所以放在每一天的最后一条纪录,不是所有纪录的最后一条纪录。
      

  8.   

    你上述SQL语句保存为VIEW1
    set @a=0;
    CREATE TABLE NTMP AS SELECT `Date`,MAX(PM) AS MA,SUM(SUBTOTAL) AS NSUB FROM (SELECT @A:=@A+1 AS PM FROM VIEW1) AA GROUP BY `DATE`;
    SELECT A.* FROM VIEW1
    UNION ALL
    SELECT * FROM NTMP
    缺失的字段自己补上
    用ROOLUP不行吗?
      

  9.   

    WWWWB大虾,我感觉这样做是不是有点太复杂了?
      

  10.   

    1、你要确定最后1条记录,按日期分组;
    2、你是要增加1条新记录
    OR
    SELECT `DATE`,SUM(SUNTOTAL) FROM 你的SQL语句 GROUP BY `DATE` WITH ROOLUP
    这样试试
      

  11.   

    呵呵 算了,不给客户做每日统计了。
    对了,WWWWB还有一个问题,为什么非数字的TransID在REPORT中显示出来是乱码。等下再加分。
      

  12.   

    后台是MYSQL?字符集不统一?用什么字符集
    show variables like 'char%'; 
    报表不支持UTF?
      

  13.   

    UTF-8的字符,就是我聚合的时候加了一句Concat('DP',A.DepositID)造成的字符集不一样。
      

  14.   

    Concat('DP',CONVERT(A.DepositID USING utf8))
    试试修改UTF8为GBK、GB2312之类的,看看结果
      

  15.   

    还是不可以,因为TransID和DEPOSITID都是INTEGER类型,我把其中的一个DEPOSITID加了个'DP',所以造成在报表中显示乱码。
      

  16.   

    可以了,刚才改错了,比较粗心,谢谢WWWWB的耐心解答!
    乱码这个问题我重新开贴给分。
      

  17.   

    http://forum.csdn.net/PointForum/Forum/PostTopic.aspx?alias=MySQLPostgresql