select a.PatientId, a.ApptDate,
v.VitalDate, v.vitalInfo, v.VitalId
from appointments a
outer apply (select top(1) VitalDate, vitalInfo, VitalId
from Visits v
where a.PatientId = v.PatientId
and v.VitalDate >= a.apptDate
order by VitalDate) v(VitalDate, vitalInfo, VitalId);
2条答案
按热度按时间7y4bm7vi1#
下面是一个你可以尝试的例子。。。
--更新以更改日期格式
7y4bm7vi2#
您可以从vitaldate>=apptdate的就诊表中获取顶部(1)进行选择。即:
编辑:后来我看到你说你可以复制。在现实中,这种情况并不是发生在“指定”患者就诊时。不管怎样,为了覆盖这些副本,我添加了另一个副本:
附言:这是dbfiddle演示