非正規化された形式の大きなデータセットがあります。列名の例を次に示します。
external_key_ID、P1、P2、P3、P4、P5 .... D1、D2、D3....など。
これらのフィールドにはすべて、同様のタイプのデータが含まれています。
これを既存のテーブル構造に正規化する必要があります。
insert into new_table (id, name, index)
select foreign_key_id, P1, 1
from denormalized_table;
ただし、これは、非正規化されたテーブルのフィールドごとに個別のクエリを実行する必要があることを意味します。いくつか変更するだけです。
insert into new_table (id, name, index)
select foreign_key_id, P2, 2
from denormalized_table;
私がこれらのフィールドをいくつ持っているかを考えると、これは退屈になります。
これを自動化して1つの操作にする方法はありますか?つまり、フィールドを繰り返し処理し(適格なフィールドのリストをどこかで一度作成してもかまいません)、そのフィールド名の最後の桁を削除します(つまり、「P1」の「1」と「P2」の「2」)副選択でフィールド名と抽出されたインデックス#を使用します。