私はある月の財務データをSQLから引き出しています。毎月のデータとその横の数値を取得したいと考えています。数字がnullになる日もあります。そのため、日付のグループを使用してクエリを実行すると、データを含む行のみが返されます。データがNULLであっても、日付による財務データグループ
私はそう╔════════════╦═════════════╗
║ 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 ║ ║
╚════════════╩═════════════╝
私は月のすべての日を選択することになるクエリを記述するために管理が、私はこれが私に参加するために得ることができなかったようなデータを返すために探しています
╔════════════╦═════════════╗
║ 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 ║
╚════════════╩═════════════╝
財務クエリですか?
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あなたは財務表への参加を残していますか? hehe – Andomar