我有两个表用于患者就诊,另一个用于访问查找。在查询表中,我有10到70岁的患者就诊。
有些患者在常规时间表中错过了访问。假设患者来过10,20,30,60和70次访问。所以40和50将会错过访问。
我想找回错过就诊的病人。
我试图离开加入和子查询,但它只返回患者表中的那些记录。
以下是我使用的查询和输出的截图。
SELECT Patient, vl.Visit, vl.VisitName FROM dbo.PatientVisit p LEFT OUTER JOIN dbo.Visitlookup vl ON p.VisitName = vl.VisitName
order BY p.Patient, vl.Visit
SELECT A.Patient, B.visit FROM
(SELECT Patient, Visit, VisitName FROM dbo.PatientVisit)A,
(SELECT Visit, VisitName FROM dbo.Visitlookup v1 WHERE v1.Visit NOT IN (SELECT Visit FROM dbo.PatientVisit v ))B
WHERE A.Visit <> B.Visit
有人可以帮助我获取他们错过的患者数量和访问次数吗?
这是sql fiddle。
答案 0 :(得分:1)
这将解决您的问题
{{1}}