2016-03-31 9 views
0
SELECT 
A.MARKETING_PLAN, 
A.TERM, 
A.TIER 
CASE WHEN A.TERM<=60 THEN 'ST' ELSE 'LT' end as TERM_2 
FROM ABC A; 

TERM_2フィールド(2つのサブセット:LTとSTを持つ)を使用して、次のcase文を記述します。 TERM_2がちょうど作成される= LTとTIER BUサブステートメントcase文で

AS ELSE = 5 THEN 5.49 'NULL' END TERM_2は、私は上記のcase文を使用することはできません

CASE。 私はサブクエリを使用する必要があると思うし、私は多くの方法を試みたが、それは動作しません。 私のコードを見て、私が問題を解決するのを助けてください。 事前に感謝します。

答えて

0

a.bua.term_2a.tierの値に依存するので、それは間接的にa.termフィールドに依存します。したがって、a.termが60よりも大きいかどうかを確認するだけです(a.termが60より大きい場合、a.term_2LTと等しくなります)。

SELECT 
    a.marketing_plan, 
    a.term, 
    a.tier, 
    CASE WHEN a.term<=60 THEN 'ST' ELSE 'LT' END AS term_2, 
    CASE WHEN a.term>60 AND a.tier=5 THEN 5.49 ELSE NULL END AS bu 
FROM ABC a; 
+0

このコードは_why_に関する 追加のコンテキストを提供し、質問に答える、および/またはそれが 質問が大幅に長期的 値を改善する回答_how_かもしれないが。あなたの答えを[編集]して、説明を加えてください。 –