これに要約される複雑なクエリがあります。
UPDATE usertable
SET userstatus =
(SELECT numposts*5 as status FROM
(SELECT count(*) as numposts FROM poststable WHERE poststable.userid = usertable.userid) as table2
)
WHERE usertable.userid > 0
これは、すべてのユーザー レコードを更新し、子テーブルの行数に基づいて計算された値にユーザーのステータスを設定するクエリです。
問題は、usertable.userid が第 2 レベルのサブクエリに到達しないことです。
クエリは、次のように 1 レベルだけ下に表示すると機能します。
UPDATE usertable
SET userstatus =
(SELECT count(*) as numposts FROM poststable WHERE poststable.userid = usertable.userid)
WHERE usertable.userid > 0
問題は、実際の状況での計算クエリが非常に複雑であることです。
問題は、第 2 レベルのサブクエリを取得してトップ レベルのクエリの値を認識する方法はありますか? この例では、usertable.userid を 2 レベル下に認識させる方法はありますか?
ありがとう!-ニコ