如何获取存储过程中的总列数?

How to get total number of columns in stored procedure?

SELECT 
   CONVERT(VARCHAR, b.date, 105)    AS 'Date', 
   m.menucost * (Sum(bm.qty))    AS 'Total' 
FROM   
   billmaster b 
LEFT JOIN 
   billmenumapping bm ON bm.mapbillid = b.billid 
LEFT JOIN 
   menumaster m  ON m.menuid = bm.mapmenuid 
WHERE  
   b.date BETWEEN '2015/02/22' AND '2015/02/25'
GROUP BY
   b.Date, m.menucost

此代码returns结果如下:

Date         Total
-------------------
23-02-2015   40.00
22-02-2015   40.00
22-02-2015   1800.00

我需要以一种方式输出,其中应合并日期 22-02-2015 日期的总数,并且应仅给出一个结果,如下所示。合计栏的总和要根据各自的日期来做。

Date         Total
--------------------
23-02-2015   40.00
22-02-2015   1840.00

请帮忙。

试试这个:

SELECT Date,SUM(Total) FROM
(SELECT CONVERT(VARCHAR, b.date, 105)    AS 'Date', 
           m.menucost * (Sum(bm.qty))    AS 'Total' 
    FROM   billmaster b 
           LEFT JOIN billmenumapping bm 
                  ON bm.mapbillid = b.billid 
           LEFT JOIN menumaster m 
                  ON m.menuid = bm.mapmenuid 
    WHERE  b.date between '2015/02/22'  and '2015/02/25'
    GROUP BY b.Date,m.menucost) TempTable
GROUP BY Date