SQL不显示0,用于SSRS-sparkline

时间:2018-05-10 16:28:39

标签: sql sql-server ssrs-2012

我有一个查询,它返回给定练习的一个月内的记录总和。我限制范围来看今天的日期 - 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报告提取的,我想显示这种做法的高峰/低谷,他们没有使用迷你图发送记录。

0 个答案:

没有答案