如何在表中填充具有随机日期的列,该表位于另一个表的2个日期之间

时间:2013-03-25 06:15:22

标签: sql sql-server sql-server-2012

我有两个表,如patient_record和surgery_record。我想填充surgery_Date表格中的surgery_record列,其随机日期介于Beg_Date表中的End_Datepatient_record值之间({{1} }和Beg_Date分别是患者入院和出院的日期。目前我有以下查询。提前致谢

patient_record:

End_Date

surgery_record:

Beg_Date = DATEADD(DAY, ABS(CHECKSUM(NEWID()) % 365), '01/01/2000')
End_Date = DATEADD(DAY, 85 + ABS(CHECKSUM(NEWID()) % 11), Beg_Date)

但是我收到以下错误:

update Surgery_Record
set Surgery_Date =  DATEADD(DAY, 85 + ABS(CHECKSUM(NEWID()) % 11), patient_record.Beg_Date)

据我所知,我必须在这两个表之间建立关系,以便共同使用这些属性,并且我已经在不同的属性上使用了外键约束。如果这还不够,请咨询。

1 个答案:

答案 0 :(得分:1)

update Surgery_Record
set Surgery_Date =  DATEADD(DAY, 85 + ABS(CHECKSUM(NEWID()) % 11), patient_record.Beg_Date)
from patient_record
where patient_record.PatID=Surgery_Record.PatID