一部のデータを古いデータベースからスキーマがわずかに異なる新しいデータベースに移行しようとしていますが、私の SQL はそれほど強力ではありません。
古いスキーマ: 3 つのフラグの順列のセットを持つことができるフィールドを持つ "Person" と呼ばれるテーブルがあります。Person テーブルには、"Flags" と呼ぶ別のテーブルへの外部キーがあります。They Flags テーブルには、文字列内のこれらのフラグの組み合わせごとに行があります。
1 - Yes No No
2 - Yes Yes No
3 - Yes No Yes
4 - Yes Yes Yes
5 - No Yes No
6 - No Yes Yes
7 - No No Yes
新しいスキーマはこのテーブルを必要としません (ありがたいことに)。これらのフラグは、「Person」テーブルの単なるフィールドであり、BIT フィールドになりました。
私がやりたいことは次のようなものです:
UPDATE database2.Person SET (flag1, flag2, flag3) VALUES (true, false false) WHERE database1.Person.flag_id = 1;
次に、ID と値を適宜変更して、7 つの異なるクエリを実行できます。もちろん、問題は上記が正しい SQL ではないことです。ある種のJOINが必要だと思います...またはwhere句のサブセレクトか何か?
前進する最善の道に行き詰まった。ここでの私の別れの考えは、これは単一のクエリに圧縮する必要はなく、特にエレガントである必要もないということです。このクエリを 1 回実行すれば、それで完了すると思います。