私は、MSSQL サーバーから MySQL サーバーへのデータの移行を任されました。最初に MSSQL データベースを MS Access データベースに変換した方が簡単だと思ったので、いじってから MySQL としてエクスポートしました。
だから、私は会社と呼ばれるテーブルを持っています:
companyID | name | c_phon | c_email | c_address
1 StackOverflow 5555555555 Joel@stackoverflow.com NYC
2 Google 5558675309 Google@google.com NYC
新しいデータベースでは、これらのフィールドの保存方法を変更しました。各行に電話番号、電子メール、住所が含まれている代わりに、prefs テーブルを使用しています。
設定:
prefID | prefName
1 c_phone
2 c_email
3 c_address
私の問題は、各フィールドを companyPrefs テーブルの独自の行に変換する方法です。次のようになります。
companyID | prefID | prefValue
1 1 5555555555
1 2 Joel@stackoverflow.com
1 3 NYC
2 1 5558675309
2 2 Google@google.com
2 3 NYC
vbscriptなどの使い方がわからないので、SQLを使ってこれをやろうとしていました。
INSERT INTO comanyPrefs (companyID, prefID, prefValue)
SELECT companyID, prefID, @fieldName
FROM companies, preferences
WHERE @fieldName = prefName
明らかにこれは機能しません。可変フィールド名を使用してフィールドを選択するにはどうすればよいですか? 各フィールドに行を挿入するにはどうすればよいですか?