我从一个给定月份的SQL中提取财务数据,并且想要获取每月的每一天的数据集以及它旁边的数字。有些日子,数字将为空,这就是为什么如果我在日期上使用组执行查询,它将只返回包含数据的行。财务数据分组按日期排列,即使数据为空
╔════════════╦═════════════╗
║ Date ║ DailyActual ║
╠════════════╬═════════════╣
║ 1/02/2017 ║ 14397.59091 ║
╠════════════╬═════════════╣
║ 2/02/2017 ║ 29723.37273 ║
╠════════════╬═════════════╣
║ 3/02/2017 ║ 32436.31818 ║
╠════════════╬═════════════╣
║ 6/02/2017 ║ 27048.32727 ║
╠════════════╬═════════════╣
║ 7/02/2017 ║ 30690.66364 ║
╠════════════╬═════════════╣
║ 8/02/2017 ║ 32267.42727 ║
╠════════════╬═════════════╣
║ 9/02/2017 ║ 29592.29091 ║
╠════════════╬═════════════╣
║ 10/02/2017 ║ 31740.49091 ║
╚════════════╩═════════════╝
我期待像返回的数据,以便
╔════════════╦═════════════╗
║ Date ║ DailyActual ║
╠════════════╬═════════════╣
║ 1/02/2017 ║ 14397.59091 ║
╠════════════╬═════════════╣
║ 2/02/2017 ║ 29723.37273 ║
╠════════════╬═════════════╣
║ 3/02/2017 ║ 32436.31818 ║
╠════════════╬═════════════╣
║ 4/02/2017 ║ ║
╠════════════╬═════════════╣
║ 5/02/2017 ║ ║
╠════════════╬═════════════╣
║ 6/02/2017 ║ 27048.32727 ║
╠════════════╬═════════════╣
║ 7/02/2017 ║ 30690.66364 ║
╠════════════╬═════════════╣
║ 8/02/2017 ║ 32267.42727 ║
╠════════════╬═════════════╣
║ 9/02/2017 ║ 29592.29091 ║
╠════════════╬═════════════╣
║ 10/02/2017 ║ 31740.49091 ║
╠════════════╬═════════════╣
║ 11/02/2017 ║ ║
╠════════════╬═════════════╣
║ 12/02/2017 ║ ║
╠════════════╬═════════════╣
║ 13/02/2017 ║ ║
╠════════════╬═════════════╣
║ 14/02/2017 ║ ║
╠════════════╬═════════════╣
║ 15/02/2017 ║ ║
╠════════════╬═════════════╣
║ 16/02/2017 ║ ║
╠════════════╬═════════════╣
║ 17/02/2017 ║ ║
╠════════════╬═════════════╣
║ 18/02/2017 ║ ║
╠════════════╬═════════════╣
║ 19/02/2017 ║ ║
╠════════════╬═════════════╣
║ 20/02/2017 ║ ║
╠════════════╬═════════════╣
║ 21/02/2017 ║ ║
╠════════════╬═════════════╣
║ 22/02/2017 ║ ║
╠════════════╬═════════════╣
║ 23/02/2017 ║ ║
╠════════════╬═════════════╣
║ 24/02/2017 ║ ║
╠════════════╬═════════════╣
║ 25/02/2017 ║ ║
╠════════════╬═════════════╣
║ 26/02/2017 ║ ║
╠════════════╬═════════════╣
║ 27/02/2017 ║ ║
╠════════════╬═════════════╣
║ 28/02/2017 ║ ║
╚════════════╩═════════════╝
我设法编写一个查询,其将在本月选择所有的日子,但我不能得到这个加入我的财务查询?
DECLARE @startDate DATETIME= '20170201'
DECLARE @endDate DATETIME = '20170228'
;WITH Calender AS
(
SELECT @startDate AS CalanderDate
UNION ALL
SELECT CalanderDate + 1 FROM Calender
WHERE CalanderDate + 1 <= @endDate
)
SELECT CalanderDate
FROM Calender
OPTION (MAXRECURSION 0)
我当前查询按我的第一个表,如下所示
SELECT ci.InvoiceDate, SUM(CASE WHEN ci.Type = 'Invoice' THEN ci.Total ELSE -ci.Total END)/1.1
FROM CustomerInvoice ci
WHERE ci.IsVoided = 0 AND ci.InvoiceDate BETWEEN '20170201' AND '20170228'
GROUP BY ci.InvoiceDate
左连接到日历表。这个问题在互联网上已经回答了很多次。 – ATC
@ATC你的意思是左加入财务表?嘿嘿 – Andomar