約200フィールドの大きなテーブルがあります。1 つのフィールドからディメンション テーブルを作成するときに、これらのフィールドの約 100 が 1 つのフィールドにマップされます。問題は、これらの 100 個のフィールドの値を、100 個の挿入ステートメントのように 1 つずつ追加する必要があることです。これをより効率的に達成できるループや何かがありますか?
コードの例を次に示します。
insert into DimTableA(visit_no, patient, facility, icd9, icd9_flag, ip_op)
select D.registration, D3.med_number, D3.Hosp_Id, D.final_diagnosis_18,'d',IF(D3.Admit_Type in(1,2,3),'Inpatient','Outpatient'),
from svch_dischs3_s D3, svch_diags_s D
insert into DimTableA(visit_no, patient, facility, icd9, icd9_flag, ip_op)
select D.registration, D3.med_number, D3.Hosp_Id, D.final_diagnosis_19,'d',IF(D3.Admit_Type in(1,2,3),'Inpatient','Outpatient'),
from svch_dischs3_s D3, svch_diags_s D
insert into DimTableA(visit_no, patient, facility, icd9, icd9_flag, ip_op)
select D.registration, D3.med_number, D3.Hosp_Id, D.final_diagnosis_20,'d',IF(D3.Admit_Type in(1,2,3),'Inpatient','Outpatient'),
from svch_dischs3_s D3, svch_diags_s D;
......... 等々
変更される唯一のフィールド名は「icd9」入力です (つまり、D.final_diagnosis_18、final_diagnosis_19、final_diagnosis_20 ....)
どんな助けでも本当にありがたいです、若者たち。:)