试图找出两种或更多种药物是否存在60天(两次30天供应)重叠。下表有一个人名,填写/重新填写日,药物和供应天数。
红色高光日期与这些药物25605和25700重叠供应60天。
答案 0 :(得分:0)
这种类型的计算在SQL Server中很麻烦,因为日期函数很笨重,并且没有ds.read(fileName).map { c => PurchaseInfo(...)}.force
或least()
函数。
但是,你可以做到。它本质上是一个聚合的自联接。关键的想法是确定重叠的日子。重叠期的开始和结束是greatest()
或dos
。这只是一个复杂的dos + days_supply
语句:
case
代码可能有一个错误 - 重叠总是有点令人困惑,但是一些真实的数据通常会很快清除。
注意:这假定药物不与自身重叠。这是一个重要的假设;否则重叠的日子将被克服。