表1:  PatientName AppointmentDate 。
                   2011.6.3
                   2011.6.9 
                   null
                   null
表2:DOB ReferralDate 。patientname
          2011.4.5
          2010.6.3
          2009.5.8
当appointmentdate为null时,取由今天到前两周之内的所有同一个病人的referraldate排序的第一个日期

解决方案 »

  1.   

    update a set AppointmentDate=(select top 1 referraldate from 表2 where patientname=a.patientname and referraldate<=dateadd(d,-14,getdate())) from 表1 a
      

  2.   

    update t1
    set AppointmentDate=(select top 1 ReferralDate from t2 where patientname=t1.patientname and datadiff(dd,ReferralDate,getdate())<14 order by ReferralDate desc )
    where t1.AppointmentDate is null
      

  3.   

    update a set AppointmentDate=(select top 1 referraldate from 表2 where patientname=a.patientname and referraldate<=dateadd(d,-14,getdate())) 
    from 表1 a where AppointmentDate is null