1

フィールドが優先度 (1 から 5) のテーブルがいくつかあります。ここでの問題は、さまざまなプロジェクトが最高として 5 を使用しており、いくつかは最高として 1 を使用しており、これを調和させることです。

私の簡単なオプションは、一時テーブルを作成し、データをコピーして、このテーブルとして切り替えることです:
1 -> 5
2 -> 4
3 -> 3
4 -> 2
5 -> 1

私はSQLが得意ではありませんが、ステートメントでこれらの値をすぐに切り替える簡単な方法があるはずだと感じていますが、膨大な量のデータがあり、何かが途中でうまくいかない場合はデータが混乱します。

一時テーブルのソリューションをそのまま使用する必要がありますか、それとも SQL でこれを直接行う良い方法がありますか? (Oracle 10g を使用しています)

どうもありがとう!

4

3 に答える 3

13

次のように2番目のテーブルを更新するだけです。優先度を逆にするだけなので、一時テーブルは必要ありません。

update table_2
set priority = 6-priority;
于 2009-06-09T11:38:38.567 に答える