• 締切済み

CASE文での問い合わせ

下記のSQLでWHEREでnow_tが存在しないとでてSQLを実行できません。 どのようにしたらnow_tをWHEREで判定できるでしょうか。 WHEREが先に実行される為に存在しないというエラーがでるのは わかるんですが、でないようになんとかできないでしょうか? SELECT CASE WHEN s = 1 THEN 1 ELSE 2 END AS now_t FROM test WHERE now_t = 1

みんなの回答

回答No.1

質問のタイトルが悪すぎます。 簡単な方法としては、別名を付けるクエリを「内側のクエリ」にしてしまい、「外側のクエリ」から別名を参照することです。 SELECT * FROM (SELECT CASE WHEN s = 1 THEN 1 ELSE 2 END AS now_t FROM test) as x WHERE now_t = 1

関連するQ&A