获取两个表之间缺少记录的计数(SQL Server 2012)

时间:2015-11-22 14:53:24

标签: sql-server-2008

我有两个表用于患者就诊,另一个用于访问查找。在查询表中,我有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

Left Join Output

有人可以帮助我获取他们错过的患者数量和访问次数吗?

这是sql fiddle

1 个答案:

答案 0 :(得分:1)

这将解决您的问题

{{1}}