我试图在与日期和时间相关的一行中获得护理和实验室测试结果。护理表有 11 条特定患者的记录,实验室表有 3 条特定患者的记录,当我加入它们时,我得到 33 条记录,我想要 11 条我尝试左右加入但结果相同的记录。过程是,护士做一个测试并记录结果,如果结果超过异常然后命令实验室测试,所以护士和实验室测试之间存在时间差。
护理台
Patient No NurResult NurDate
1 8.8 4/2/2012 7:50
1 11.9 4/2/2012 11:53
1 8.3 4/2/2012 17:00
1 10.8 4/2/2012 21:42
Lab Table
Patient No LabResult LabDate
1 8 4/2/2012 8:52
询问:
SELECT NUR.PATIENT,NUR.TDVALUE,NUR.TDACTDATE,NUR.TDACTTIME
,LT.[RESULT],SF.COLLECTIONDATE,SF.COLLECTIONTIME
FROM [LabLSpecResultTests] LT
INNER JOIN [LabLSpecimenFile] SF
ON LT.URN=SF.URN
LEFT OUTER JOIN dbo.NurDocumentedResults NUR
ON SF.PATIENT=NUR.PATIENT
AND NUR.TDACTDATE=SF.COLLECTIONDATE
WHERE TDACTDATE='20120402'
结果应该是
Patient NurResult NurDate LabResult LabDate
1 8.8 4/2/2012 7:50 8 4/2/2012 8:52
1 11.9 4/2/2012 11:53 NULL 4/2/2012 8:52
1 8.3 4/2/2012 17:00 NULL 4/2/2012 8:52
1 10.8 4/2/2012 21:42 NULL 4/2/2012 8:52
1 9.9 4/3/2012 7:56 NULL 4/2/2012 8:52
1 12.1 4/3/2012 12:03 NULL 4/2/2012 8:52
我得到了什么
Patient NurResult NurDate LabResult LabDate
1 8.8 4/2/2012 7:50 8 4/2/2012 8:52
1 11.9 4/2/2012 11:53 8 4/2/2012 8:52
1 8.3 4/2/2012 17:00 8 4/2/2012 8:52
1 10.8 4/2/2012 21:42 8 4/2/2012 8:52
1 9.9 4/3/2012 7:56 8 4/2/2012 8:52
1 12.1 4/3/2012 12:03 8 4/2/2012 8:52