「メイン」と「インポート」の2つのテーブルがあります
インポートにはフィールドid、a、b、c、dがあります
メインにはフィールドid、a、b、c、d、x、y、zがあります
Main はアプリケーションで使用するテーブルで、Import は Web サービスから取得したデータをダンプするテーブルです。
Main に (ID によって) 既に存在する Import のすべてのエントリについて、x、y、または z を変更せずに a、b、c、または d のいずれかが変更された場合 (インポート後にデータが追加された)、Main を更新する必要があります。
私は現在、このようなものを持っています
UPDATE Main, Import
Main.a = Import.a,
Main.b = Import.b,
Main.c = Import.c,
Main.d = Import.d,
WHERE
Main.id = Import.id AND (
Main.a != Import.a OR
Main.b != Import.b OR
Main.c != Import.c OR
Main.d != Import.d)
しかし、これを行うよりエレガントな方法があるかどうか知りたいと思っていました。
私の実際のデータは上記のように構成されていますが、さらに多くのフィールドがあります。