このクエリがあります。明確な日数をカウントするために、医療請求に関する DOS と比較するために使用するカレンダーを作成します。
実行すると、結果に表示されない行がいくつかドロップされるようです。
これらの行がこのクエリでカウントされない理由を誰でも見ることができますか?
ICN サービス開始日 サービス終了日 詳細ステータスコード 12345 20121102 12:00:00 20121103 12:00:00 P 12345 20121102 12:00:00 20121103 12:00:00 P 12345 20121102 12:00:00 20121103 12:00:00 P 12345 20121102 12:00:00 20121103 12:00:00 D 12345 20121102 12:00:00 20121103 12:00:00 D 12345 20121102 12:00:00 20121103 12:00:00 D 12345 20121102 12:00:00 20121103 12:00:00 D 12345 20121102 12:00:00 20121103 12:00:00 D
CREATE TABLE #Calendar1(Dt DATETIME NOT NULL PRIMARY KEY);
;WITH cte AS
(
SELECT CAST('20120101' AS DATETIME) AS c
UNION ALL
SELECT DATEADD(dd,1,c) FROM cte
WHERE c < '20131231'
)
INSERT INTO #Calendar1 SELECT c FROM cte OPTION (MAXRECURSION 1);
SELECT
ICN,
COUNT(DISTINCT Dt) AS Days
FROM
AllOPBYDOS s
INNER JOIN #Calendar1 c ON
s.[from Date of service] >= c.Dt AND s.[to Date of service] < c.Dt+1
--Where [Detail Status Code] = 'p'
GROUP BY
ICN;