2017-08-10 8 views
0

背景:私は単に選択ではなく、単純なテーブルを構築しています*最後を選択する必要がある別のテーブルから3日分のデータは月曜日、最後の1日分のデータは火曜日〜金曜日のデータです。のTeradata - もし...その後...曜日に応じて、(異なるコードを実行)

問題:IF ... THENステートメントを使用してこれを行う方法を理解していません。

IF DAY_OF_WEEK = 2 

    THEN 

     SELECT * FROM TABLE WHERE DATE BETWEEN CURRENT_DATE-3 AND CURRENT_DATE 

    ELSE 

     SELECT * FROM TABLE WHERE DATE BETWEEN CURRENT_DATE-1 AND CURRENT_DATE 

    END IF 

これは明らかに動作しませんが、私が何をしようとしています何のロジックを示しています

コードを試みました。どのように私はこれに取り組むかもしれないかについての任意の考え?

答えて

0

次はあなたがやろうとしているものを達成する必要があります

SELECT * 
    FROM TABLE 
WHERE DATE_COLUMN >= (SELECT CASE WHEN TD_DAY_OF_WEEK(CURRENT_DATE) = 2 
            THEN CURRENT_DATE - 3 
            ELSE CURRENT_DATE - 1 
           END) 
    AND DATE_COLUMN <= CURRENT_DATE; 
+1

こんにちは@Rob。上記と非常によく似た解決策 - 私たちは同時に投稿したようです。しかし、助けてくれてありがとう。 –

関連する問題