如何获取存储过程中的总列数?
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
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