1

SQLをあるスクリプトから別のスクリプトに移行しようとしています。つまり、スクリプトの一部だけですが、異なる「コード」を使用しています。

基本的には、両方のDBの側に番号として保持されている「状態」の情報を移動しようとしています。しかし、もちろん数は異なります。たとえば、一方のアリゾナは12ですが、もう一方は3425です。

最初に両方で同じ顧客IDを照合する方法を見つけようとしています。次に、1つのDBから番号を取得し、それを新しいDBにある番号に変換して、そのDBの正しい領域に配置します。

しかし、SQLに関する私のスキルは非常に不足しており、合理的な解決策を見つけることができません。

使用中のスクリプト:古い-CREロード4.2.1a新しい-OpenCart(現在のバージョン)

編集

これがDBの構造を説明する上での最善の方法ですが、DBがどのように機能するかについての説明が最善ではない場合は、すみません。

関連するテーブルの古いDB構造は次のとおりです。

address_book-顧客情報を保持します。州番号は数値形式でColumentry_zone_idに保持されます。また、国番号も数値形式でentry_country_idに保持されます。「ゾーンID」は、国に応じて「国ID」に基づいています。

ゾーン-州および国ID情報を保持します。例:アリゾナの場合、zone_idは4、zone_country_idは223(米国の場合)、zone_codeはAZ、Zone_nameはアリゾナです。

顧客-これは、住所情報を含まない主要な顧客情報を保持します。customers_idは、もちろん、テーブルaddress_bookの同じ顧客IDに対応する顧客ID番号です。Customers_default_address_idは、address_bookのIDとも一致します。

新しいDBについては、次のようになります。

oc_address-address_idおよびcustomer_idは、顧客ID番号をマークします。country_idは、それらがどの国にあるかを数値形式で示します。zone_idは、州のDB番号を保持します。

oc_zone-「zone_id」はゾーンIDを保持し、「country_id」は米国などの国ID番号を保持します。「name」は州名です。「コード」の州または国コード。例:DB内のアリゾナは次のように表示されます:zone_id = 3616、country_id = 223、name = Arizona、code = AZ、status = 1(使用されていることを示します)

知っておく必要のあるものは次のとおりです。oc_country-国情報を保持し、country_idは国コードを保持し、nameは国の名前、isa_code_2およびiso_code_3は国のISOコードです。

これがお役に立てば幸いです。

4

0 に答える 0