情報が 1 日あたりの集計にロールアップされる、生成したテーブルがあります テーブルを結合するときに集計の週番号を取得できるカレンダー テーブルと見なすことができる 2 つ目のテーブルがあります
表の日付はすべて整数です (例: 20130501 (YYYYMMDD))。
以下の(一般化された)SQLを作成すると正常に動作しますが、このスクリプトを週に1回実行して前の週を取得するようにスケジュールしたいのですが、エラーが発生しています
スクリプトは正常に動作します
SELECT *
FROM TABLE_1 as sample
INNER JOIN TABLE_2 as calendar
ON sample.day = calendar.day
WHERE sample.day >= 20130501
AND sample.day <= 20130507
スクリプトが失敗する
SELECT *
FROM TABLE_1 as sample
INNER JOIN TABLE_2 as calendar
ON sample.day = calendar.day
-- >= Previous Monday Last week
WHERE sample.day >= CAST(CAST(((DATE-DAYOFWEEK(DATE)-5) (FORMAT 'YYYYMMDD')) AS CHAR(8)) AS INT)
-- <= Previous Sunday Last week
AND sample.day <= CAST(CAST(((DATE-DAYOFWEEK(DATE)+ 1) (FORMAT 'YYYYMMDD')) AS CHAR(8)) AS INT)
2 番目のスクリプトで表示されるエラー メッセージは次のとおりです。
Teradata ODBC Teradata Driver 構文エラー: ')' と '-' の間に何かが必要です
時間を割いていただきありがとうございます 数日間私を悩ませてきました