2016-08-08 10 views
-2

私は単純な単一の列IDリストを生成する複雑なクエリを持っています。これは、行数を数えます。その後、別の(2番目の)クエリの結果セットと結合するために、最初のクエリによって生成されたIDが必要になります。 2番目のクエリとのバインディングを達成するために、最初のクエリの結果セットを保持するにはどうすればよいですか? ありがとうございます。一時テーブルで複雑なクエリの結果を後で別のクエリと組み合わせる

+0

最初のものを2番目のものの基礎として使用してください。うまくいけば、この答えは質問と同じくらい謎めいたものです。 – Strawberry

+0

申し訳ありませんが、私の質問の説明が明確でない場合。将来的にはそれを試して改善します。 – Ajoo

答えて

1

[ここで最初の長い複雑なクエリ] AS TEMPORARY TABLEのtmp_resultを作成します。

(あなたが仕事の残りの部分の性質に応じて、ここにインデックスを追加したい場合があります。)

// tmp_result(some_col_name)にインデックスをtmp_result_x作成します。

+0

ここに私のクエリがあります(テーブル名は短縮されています)。 'ここmr.mid = ar.st_id AR、MRからmr.st_id を選択し、ar.aid = 1 UNION SELECTがAR WHERE ar.aid = 1 && ar.roleから をar.st_id code' <> 'master' 'code' 私のクエリはエラーを出さず、phpmyadminで実行するたびに正常に動作します。私は結果セットを得る。しかし、CREATE TEMPORARY TABLE ..で囲むと、5行目( 'UNION SELECT .....)の近くにエラーが表示されます。助言がありますか ? – Ajoo

+0

私はこれを試みた: は(( SELECTは(mr.mid = ar.st_id とar.aid = 1) UNION AR、MRからst_id としてmr.st_idから SELECT st_id tmp_result一時テーブルを作成ar.st_idをst_idとして からar where ar.aid = 1 && ar.role <> 'master'))tt とし、結果セットの代わりに空のテーブルを返します。お知らせ下さい。 – Ajoo

+0

@Ajoo、あなたのコメントはあなたの質問よりもはっきりしています。 – Strawberry

関連する問題