4つの列を持つテーブル(TABLE1)があります。
UID | PID | VALUE1 | VALUE2
他のいくつかのテーブルから3つの列を返す別のSQLステートメント(STMT)があります。
UID | PID | VALUE1
これが、TABLE1を更新する方法の条件です。
まず、STMTのUIDとPIDのペアを表1のものと比較します。
TABLE1にないすべての新しいUIDとPIDのペアについて、STMTからTABLE1に新しい行を挿入し、TABLE1.VALUE2 = 0に設定します(これはすでに実行しています)
STMTとTABLE1の両方にある既存のUIDとPIDのペアについては、次のようにします。
a。TABLE1.VALUE2> 0の場合、TABLE1.VALUE1=STMT.VALUE1を更新します
b。TABLE1.VALUE2 = 0の場合、およびTABLE1.VALUE1!= STMT.VALUE1の場合、TABLE1.VALUE1 = STMT.VALUE1を更新します。それ以外の場合は、何もしません。
条件2の解決策を思い付くのに苦労しています。助けていただければ幸いです。