クエリ内で取った値をクエリ内で使いまわしたい
MySQL :: MySQL 5.6 リファレンスマニュアル :: 13.2.10.8 FROM 句内のサブクエリー
公式に載ってたよ。
やりたかったのは参照された値が存在するかどうか、存在するなら別のテーブルで使用するというものです。
INSERT INTO table (name, type) SELECT "NAME", target_type FROM ( SELECT type as target_type <--ポイント FROM t2 WHERE 条件 ) AS t1 WHERE target_type != 0 AND target_type is not null AND NOT EXISTS ( SELECT type FROM table WHERE type = target_type );
自分のテーブルでも存在確認に使っているので計4箇所に登場し毎回selectする訳にもいかなくて最初ユーザー定義変数で入れようとしたが、SQL文の発行が上手く行かずに悩んでいて、INSERTに使う値がそもそもこちらで用意した値なのでFROMでダミーの値入れていたんですが、ここ何とか出来ないかなっとリファレンスをそっちの方面で調べてみたら出てきたんですよね…