次のクエリがあります。
SELECT script FROM d_stages WHERE id IN
(SELECT g.stage + :i FROM games g INNER JOIN sessions s ON
g.expired = 0 AND s.user = g.user AND s.token = :token)
- 内部 SELECT は、指定されたトークンによって「sessions」テーブルでユーザー ID を検索し、次にそのユーザーの有効期限が切れていないゲームを検索します。
- 変更されたゲーム ステージを返します (:i の値に応じて、増加、減少、または変更なしで残されます)。
- 外部 SELECT は、辞書から見つかったステージの一意のスクリプトを返します。
明らかに、ゲームが進化したため、変更されたステージ番号 (g.stage + :i) が DB に書き戻されます。に置き換えSELECT script
てSELECT script, g.stage + :i
、変更した番号を別の ( UPDATE
) クエリで使用できますが、単一のクエリ内で同じことができるでしょうか?
私の DBMS は mySQL 5.5 です。
よろしく、