我有一个查询,它返回给定练习的一个月内的记录总和。我限制范围来看今天的日期 - 2年和< =今天的日期。我想为service_date不存在的记录显示零。我怎样才能做到这一点?我尝试了左,右,全外连接,但似乎没有工作。
查询:
SELECT EH.TIN, Dates.Daily_date, DATEADD(m, DATEDIFF(m, 0, Dates.Daily_date), 0),ISNULL(count(ed.detail_key),0) as 'Claim_Detail'
FROM [dbo].[ENCOUNTER_DETAIL] ED
FULL OUTER JOIN
(
SELECT TOP(73049) DATEADD(d, -1, ROW_NUMBER() OVER (ORDER BY o.object_id)) AS Daily_Date
FROM master.sys.objects o, master.sys.objects o1, master.sys.objects o2
) Dates On Dates.Daily_Date = ED.Service_Date
FULL OUTER JOIN [dbo].[ENCOUNTER_HEADER] EH with (nolock) ON ED.encounter_key = EH.encounter_key
WHERE ed.data_source_id = '1234'
AND Dates.Daily_date > DATEADD(month, -24, GETDATE())
AND Dates.Daily_date <= getdate()
group by EH.TIN, Dates.Daily_date, DATEADD(m, DATEDIFF(m, 0, Dates.Daily_date), 0)
例如:我的输出
Practice_Name Year_Month Claim_Detail
Prac_1 10/1/2017 75
Prac_1 12/1/2017 8
但我希望我的输出为:
Practice_Name Month_Year Claim_Detail
Prac_1 5/1/2016 0
Prac_1 6/1/2016 0
Prac_1 7/1/2016 0
Prac_1 8/1/2016 0
Prac_1 9/1/2016 0
Prac_1 10/1/2016 0
Prac_1 11/1/2016 0
Prac_1 12/1/2016 0
Prac_1 1/1/2017 0
Prac_1 2/1/2017 0
Prac_1 3/1/2017 0
Prac_1 4/1/2017 0
Prac_1 5/1/2017 0
Prac_1 6/1/2017 0
Prac_1 7/1/2017 0
Prac_1 8/1/2017 0
Prac_1 9/1/2017 0
Prac_1 10/1/2017 75
Prac_1 12/1/2017 8
Prac_1 1/1/2018 0
Prac_1 2/1/2018 0
Prac_1 3/1/2018 0
Prac_1 4/1/2018 0
上下文:我需要更新查询的原因是因为这些数据是由SSRS报告提取的,我想显示这种做法的高峰/低谷,他们没有使用迷你图发送记录。