在这个查询中,我试图得到一个计数,让我在给定条件下为每次练习计算患者数。
问题在于,我必须向过去一年中曾有> = 3次就诊的病人展示。
选择列表中的计数(D.PID)
忽略
HAVING count(admitdatetime)> = 3
这是我的查询
select distinct D.PracticeAbbrevName, D.ProviderLastName, count(D.pid) AS Count
from PersonDetail AS D
left join Visit AS V on D.PID = V.PID
where D.A1C >=7.5 and V.admitdatetime >= (getdate()-365) and D.A1CDays <180 and D.Diabetes = 1
group by D.PracticeAbbrevName, D.ProviderLastName
having count(admitdatetime)>=3
order by PracticeAbbrevName
如果我摆脱了D.pid的计数功能,并且只是单独显示每个PID,我的短语就能正常工作。
有一些关于计数的东西,现在可以一起正常工作。
答案 0 :(得分:0)
修改回答:
Data data = (Data) parent.getItemAtPosition(position)
elementoSeleccionado = data.getNombre();
答案 1 :(得分:0)
你一次尝试做太多事。分两步拆分逻辑:
PID
查询分组,以过滤掉不符合条件的患者。您的查询将如下所示:
;with EligiblePatients as (
select d.pid,
d.PracticeAbbrevName,
d.ProviderLastName
from PersonDetail d
left join Visit v
on v.pid = d.pid
and v.admitdatetime >= (getdate()-365)
where d.A1C >= 7.5
and d.A1CDays < 180
and d.Diabetes = 1
group by d.pid,
d.PracticeAbbrevName,
d.ProviderLastName
having count(v.pid) >= 3
)
select PracticeAbbrevName,
ProviderLastName,
COUNT(*) as PatientCount
from EligiblePatients
group by PracticeAbbrevName,
ProviderLastName
order by PracticeAbbrevName