【发布时间】:2017-03-31 23:45:13
【问题描述】:
enter image description here请看附图。
我的查询是查看我们有多少“违规”百分比,但是当没有违规时,我的查询没有返回任何单元格,甚至没有返回 NULLS(请参见附图)
有什么办法可以让它只显示 NULL 或“100%”而不是空白单元格??
这是我的查询
select *
from
(select '100' - convert(decimal(5,2),(100 * convert(float,CountBreach)/nullif(convert(float,CountNot),0))) AS '2 week target'
from
(select CancerBreach, COUNT(*) [CountBreach] from
(
SELECT
d.HospitalNumber ,
CASE WHEN SUM(DATEDIFF(DD,ReceiptOfReferralDate, FirstAppointmentDate)- FirstAppointmentWaitingTimeAdjusted) > 14
THEN 'Breach' ELSE 'Not Breach'
END AS CancerBreach
FROM [WH].[SCR].[Referral] R
LEFT OUTER JOIN WHREPORTING.LK.SpecialtyDivision S
ON CONVERT(Varchar(10),(R.SpecialtyCode)) = S.SpecialtyCode
LEFT JOIN WH.SCR.Demographic as d
on d.UniqueRecordId = R.DemographicUniqueRecordId
WHERE
R.FirstAppointmentOrganisationCode IN ('RM202', 'RM201')
AND PriorityTypeCode = '03'
AND FirstAppointmentDate BETWEEN '01 oct 2016' AND '14 oct 2016'
AND R.CancerTypeCode <> '16'
AND R.FirstAppointmentDate is not NULL
AND NewTumourSite IS NULL
and s.SpecialtyCode = '103'
GROUP BY
d.HospitalNumber)f
where CancerBreach = 'breach'
group by CancerBreach) e,
(select COUNT(*) [CountNot] from
(
SELECT
d.HospitalNumber ,
CASE WHEN SUM(DATEDIFF(DD,ReceiptOfReferralDate, FirstAppointmentDate)- FirstAppointmentWaitingTimeAdjusted) > 14
THEN 'Breach' ELSE 'Not Breach'
END AS CancerBreach
FROM [WH].[SCR].[Referral] R
LEFT OUTER JOIN WHREPORTING.LK.SpecialtyDivision S
ON CONVERT(Varchar(10),(R.SpecialtyCode)) = S.SpecialtyCode
LEFT JOIN WH.SCR.Demographic as d
on d.UniqueRecordId = R.DemographicUniqueRecordId
WHERE R.FirstAppointmentOrganisationCode IN ('RM202', 'RM201')
AND PriorityTypeCode = '03'
AND FirstAppointmentDate BETWEEN '01 oct 2016' AND '14 oct 2016'
AND R.CancerTypeCode <> '16'
AND R.FirstAppointmentDate is not NULL
AND NewTumourSite IS NULL
and s.SpecialtyCode = '103'
GROUP BY
d.HospitalNumber)f
where CancerBreach = 'Not breach'
group by CancerBreach) d)e
【问题讨论】:
标签: sql sql-server sql-server-2008 replace null