1

Teradata に "a" と "ch" という 2 つのテーブルがあります。テーブル ch には、「amt」と「code」の 2 つの列が含まれています。テーブル "a" と "ch" の間は LEFT JOIN です。結合が行われ、SELECT 部分で amt 値を合計しようとしています。しかし、「code」属性に特定の値がある場合、「amt」値の 70% のみを使用する必要があります。

これは私が試したことです:

SELECT SUM 
       (
       CASE WHEN ch.code IN (SELECT code from ...)
          then 0.7*ch.amt
       )   
       else ch.amt
       END
FROM a LEFT JOIN ch

エラーが発生します:

CASE式のWHEN句の式が不正です。

Google は、ステートメントをCASE許可しないためだと述べています。SELECT

上記の機能をどのように実現できますか?

4

3 に答える 3