怪物编辑:查询现在将运行但返回不正确的答案。添加了粗略的架构。PatientID 不是 tblPatientVisits 表中的主键,因为同一个患者 ID 可以多次出现。
列出了每个县名,但每个 count(s.countyName) 和 count(t.countyname) 都为 1
PatientVisits
PatientID int
PatientState varchar(2)
patientCounty varchar(3)
visitNumber int - PK
tblStateCounties
CPK stateCode varchar(2)
CPK countyCode varchar(3)
countyName varchar(25)
SELECT t.countyName,
count(t.countyName) as reAdmits ,count(s.countyName) as totalVisits
FROM (
SELECT countyName,count(countyName) AS readmitCounts
FROM (
SELECT tblPatient.patientID
,tblStateCounties.countyName
FROM tblPatient
INNER JOIN tblPatientVisits
ON tblPatient.patientID = tblPatientVisits.patientID
INNER JOIN tblStateCounties
ON tblPatientVisits.patientState = tblStateCounties.stateCode
AND tblPatientVisits.patientCounty = tblStateCounties.countyCode
GROUP BY tblPatient.patientID
,tblStateCounties.stateCode
,tblStateCounties.countyName
HAVING (COUNT(tblPatient.patientID) > 1)
AND (tblStateCounties.stateCode = '21')
) t
GROUP BY countyname
) t
INNER JOIN (
SELECT countyName
FROM (
SELECT tblStateCounties.countyName
,COUNT(tblStateCounties.countyName) AS counts
FROM tblPatient
INNER JOIN tblPatientVisits
ON tblPatient.patientID = tblPatientVisits.patientID
INNER JOIN tblStateCounties
ON tblPatientVisits.patientState = tblStateCounties.stateCode
AND tblPatientVisits.patientCounty = tblStateCounties.countyCode
WHERE (tblStateCounties.stateCode = '21')
GROUP BY tblStateCounties.countyName
) z
) s
ON s.countyName = t.countyName
group by s.countyname, t.countyname
编辑:我有一个现在运行的查询,但它返回