2016-05-30 10 views
0

こんにちは私は& Bを連結する2つの列を持っています、これは顧客IDを把握するために行われます。 計算されたフィールドでcase文を実行する必要があります。 一度に行うことはできますか?SQL - 計算フィールドの計算フィールドベース?

Column A 
Column B 
Column C = Column A & Column B 
Column D = Case When (column C) = 001-002 then XXXX 

列Dが機能していません。質問は、列Cが計算されたフィールドの場合、列Cを計算して列Dを1つのクエリで計算できるかどうかです。計算列はさらに計算で支援するつもりはないとあなたは...この方法でそれを行う必要があります

おかげ

答えて

2

Column A 
Column B 
Column C = Column A & Column B 
Column D = Case When (Column A & Column B) = 001-002 then XXXX 
0

私が思うに、あなたが使用しているロジックは、動作するはずです、私が見る問題は "001-002"にある可能性があります。列Dと減算値を001から002の間で比較していますか?そうでない場合は、これを一重引用符で囲む必要があります。あなたはまた、ケース内ELSE条件を使用することができます

Column A 
Column B 
--Column C = Column A & Column B --commented out 
Column D = Case When (Column A+Column B) = '001-002' then XXXX END 

:ように、解決策は、かもしれ

そしてまた、T-SQLで書かれたあなたのロジックに従って、あなたは列C. を計算する必要はありません。式。また、私は、列AとBがStringデータ型(つまり、CHAR/VARCHAR/NVARCHAR)であると仮定します。