0

アクティビティが長すぎたすべての人のテーブルを更新したいと思います。更新は一度修正され、その後の行については新しい結果を処理する必要があります。だから次のようなことを考えた

UPDATE summary_table st
SET st.screen_on=newScreenOnValue
    st.active_screen_on=st.active_screen_on-(st.screen_on-newScreenOnValue) --old-value minus thedifference
FROM (
      SUB-SELECT with rowid, newScreenOnValue ... JOIN ... WHERE....
     ) nv
WHERE (st.rowid=nv.rowid)

同じクエリを再実行することで、最初と 2 番目の値を直接更新できることがわかっています。しかし、私の問題は、サブセレクトのコストが非常に高いように見えるため、二重更新を避けたいということです。同じクエリの二重実行。

上記SELECTは、私が得たいと思うものを非公式に書いたものです。が機能しないことはわかっていstますが、理解を深めるためにここに残しました。上記のステートメントを試すと、末尾の位置で常に SyntaxError が返されFROMます。

4

2 に答える 2