我在SQL服务器上的表现并不是很好,但是我试图能够将患者遭遇数据从一个患者复制/复制到同一个表中的另一个患者。但是,这可能是我的想法。
下面的所有三个表都匹配在encounter_id上,但没有一个表有PK。我希望能够编写一个查询/存储过程,在其中我可以指定要复制的encounter_id和patient_id。系统需要生成下一个encounter_id。
基本上,我们会同时看到多个人,因此需要将所记录的遭遇复制到所有参与者,不幸的是我们的EMR系统没有内置此功能。
这些数据来自三个表格:
**Table: enc_encounter**
encounter_id patient_id encounter_date encounter_time etc1 etc2 etc3
186 123 2014-03-12 13:17:47 2014-03-12 13:17:47 123 123 123
**Table: enc_form**
encounter_id page recorded_by recorded_on
186 1 100 2014-03-12 13:17:47
186 2 100 2014-03-12 13:17:47
186 3 100 2014-03-12 13:17:47
186 4 100 2014-03-12 13:17:47
**Table: enc_formdetail**
encounter_id page keyname keyvalue
186 1 date_1 2014-03-12
186 1 field_1 abc1
186 1 field_1 bcd1
186 1 field_1 asdf
186 1 field_1 jkl
186 1 field_1 asdf
186 1 field_1 bbb1
186 1 field_1 cccc2
理想情况下,在查询/存储过程之后,我指定要复制的encounter_id以及要复制的patient_id,表格如下所示:
**Table: enc_encounter**
encounter_id patient_id encounter_date encounter_time etc1 etc2 etc3
186 123 2014-03-12 13:17:47 2014-03-12 13:17:47 123 123 123
187 456 2014-03-12 13:17:47 2014-03-12 13:17:47 123 123 123
**Table: enc_form**
encounter_id page recorded_by recorded_on
186 1 100 2014-03-12 13:17:47
186 2 100 2014-03-12 13:17:47
186 3 100 2014-03-12 13:17:47
186 4 100 2014-03-12 13:17:47
187 1 100 2014-03-12 13:17:47
187 2 100 2014-03-12 13:17:47
187 3 100 2014-03-12 13:17:47
187 4 100 2014-03-12 13:17:47
**Table: enc_formdetail**
encounter_id page keyname keyvalue
186 1 date_1 2014-03-12
186 1 field_1 abc1
186 1 field_1 bcd1
186 1 field_1 asdf
186 1 field_1 jkl
186 1 field_1 asdf
186 1 field_1 bbb1
186 1 field_1 cccc2
187 1 date_1 2014-03-12
187 1 field_1 abc1
187 1 field_1 bcd1
187 1 field_1 asdf
187 1 field_1 jkl
187 1 field_1 asdf
187 1 field_1 bbb1
187 1 field_1 cccc2
非常感谢任何可以提供的帮助或指示。
答案 0 :(得分:1)
为你的第一张桌子做了准备:
insert Table1
(encounter_id, patient_id, encounter_date, ...other columns...)
select encounter_id
, 456 -- New patient ID
, encounter_date
, ...other columns...
from Table1
where encounter_id = 186