SQL - 2010 年仅进行过 dentry 检查的所有患者

标签 sql sql-server t-sql sql-server-2000

我有一个 T-SQL 查询,该查询为我提供了 2010 年最近一次就诊的信息,但不是 dentry 就诊。查询的相关部分是:

AND pv.PatientVisitId IN (                
    SELECT Max(pv1.PatientVisitID)            
        FROM PatientVisit pv1        
            JOIN DoctorFacility df1 ON pv1.FacilityID = df1.DoctorFacilityID
            JOIN PatientVisitResource pvr1 ON pv1.PatientVisitId = pvr1.PatientVisitId
                JOIN DoctorFacility dfr ON pvr1.ResourceId = dfr.DoctorFacilityId
        WHERE pv1.PatientProfileID = pp.PatientProfileID        
            AND pv1.Visit < '2011-01-01'    
            AND df1.ListName NOT LIKE '%Dental%'    
    )  

现在,我想扭转这一局面,为进行过 dentry 预约的患者获取最近的就诊信息。不过,我一直在这里碰壁。谁能带我到另一边吗? :-)

最佳答案

线索是使用不存在的地方

AND pv.PatientVisitId IN (                
    SELECT Max(pv1.PatientVisitID)            
        FROM PatientVisit pv1        
            JOIN DoctorFacility df1 ON pv1.FacilityID = df1.DoctorFacilityID
            JOIN PatientVisitResource pvr1 ON pv1.PatientVisitId = pvr1.PatientVisitId
                JOIN DoctorFacility dfr ON pvr1.ResourceId = dfr.DoctorFacilityId
        WHERE pv1.PatientProfileID = pp.PatientProfileID        
            AND pv1.Visit < '2011-01-01'    
            AND df1.ListName LIKE '%Dental%'    
    ) 
and not exists ( Select 1 from   PatientVisit pv1        
            JOIN DoctorFacility df1 ON pv1.FacilityID = df1.DoctorFacilityID
            JOIN PatientVisitResource pvr1 ON pv1.PatientVisitId = pvr1.PatientVisitId
                JOIN DoctorFacility dfr ON pvr1.ResourceId = dfr.DoctorFacilityId
        WHERE pv1.PatientProfileID = pp.PatientProfileID        
            AND pv1.Visit < '2011-01-01'    
            AND df1.ListName NOT LIKE '%Dental%'    
    )

关于SQL - 2010 年仅进行过 dentry 检查的所有患者,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4493091/

相关文章:

sql - 如何按 DATEDIFF 对行进行分组?

sql-server - 使用 MFC 连接到 Sql Server 的最佳方式

sql - SQL SERVER 2005如果是

sql-server - SQL 连接与左外连接

sql - Postgres : filter out some results with join

mysql - 通过从两列中选择值插入同一表中的一列来插入

mysql - MySQL 查询中输入参数的语法

SQL Server 空逻辑异或

sql - Microsoft SQL Server 2014 更改生成的 xml 格式

sql-server - 使用 CTE 和分页从 3 个表中获取记录