【发布时间】:2016-02-15 02:03:51
【问题描述】:
我有一个查询,获取当天的总销售额
SELECT
SUM(cso.SubTotal) - (
SELECT SUM(cso.CreditAvailable) / 1.1
FROM dbo.CustomerCredit cso
WHERE CONVERT(VARCHAR(10), cso.DateCreated, 102) = CONVERT(VARCHAR(10), SYSDATETIME(), 102)
) AS total_value
FROM dbo.CustomerInvoice cso
WHERE
Convert(VARCHAR(10), cso.InvoiceDate, 102) = Convert(VARCHAR(10), SYSDATETIME(), 102)
我现在需要的是一个表格,其中左侧列是当月所有日期的列表,右侧列是每个日期的总销售额(使用上面的查询)
+---------+---------+
| date | total |
+---------+---------+
| 1/2/16 | 256232 |
| 2/2/16 | 285632 |
| 3/2/16 | 265231 |
| 4/2/16 | 254215 |
| 5/2/16 | 0 |
| ....... | ..... |
| 28/2/16 | 0 |
| 29/2/16 | 0 |
+-------------------+
对于未来发生的日期或周末日期的销售价值是否为零并不重要。
我绞尽脑汁想找到一个解决方案,但由于我只是 SQL 新手,所以我决定接触社区。p>
【问题讨论】:
-
我通常使用Calendar table
-
和;当然,30/2 和 31/2 永远不会存在
标签: sql sql-server sql-server-2008