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