我正在尝试将护理和实验室测试结果放在与日期和时间相关的一行中。护理表有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