実現したいこと
SELECT文で計算を行い、結果を表示するSQLを作成しています。
複数のSELECT要素内で同じ式から算出する値を使用するため、記載を簡略化したいのですが、
SELECT内で変数を定義するような事が可能でしょうか。
また、代替となるような手段があればご教授頂きたいです。
ORACLEデータベースで使用できる記法でお願い致します。
前提
以下のようなSQL文で、()内を省略したい
(vみたいな変数で書きたい)
SQL
1SELECT 2(CASE WHEN T.col < 0 THEN T.col2 3WHEN T.col > 100 THEN T.col3 4ELSE T.col4) + T.col5 AS result1 5(CASE WHEN T.col < 0 THEN T.col2 6WHEN T.col > 100 THEN T.col3 7ELSE T.col4) - 2 AS result2 8(CASE WHEN T.col < 0 THEN T.col2 9WHEN T.col > 100 THEN T.col3 10ELSE T.col4) * 2 AS result3 11(CASE WHEN T.col < 0 THEN T.col2 12WHEN T.col > 100 THEN T.col3 13ELSE T.col4) / 2 AS result4 14FROM 15TABLE T
試したこと
(CASE WHEN T.col < 0 THEN T.col2
WHEN T.col > 100 THEN T.col3
ELSE T.col4) v
(CASE WHEN T.col < 0 THEN T.col2
WHEN T.col > 100 THEN T.col3
ELSE T.col4) AS v などは使えませんでした
補足情報(FW/ツールのバージョンなど)
Oracle Database 12c
回答3件
あなたの回答
tips
プレビュー