私が書いたこのクエリでは、90日以内の結果のみを表示したいと思います:
SELECT
(amount / 100) as "Reel_$",
CASE
WHEN savingstrategyfrequency = 'day' THEN CEIL(((total - (successfulamount + pendingamount)) * 1.00) / savingstrategyamount)
WHEN savingstrategyfrequency = 'week' THEN CEIL(((total - (successfulamount + pendingamount)) * 1.00) / ((savingstrategyamount * 1.00) / 7))
END AS days_to_complete
FROM prodjoinreel.goals
WHERE
status IN ('active')
しかし、次のwhereステートメントを含めると:where status IN ('active') and days_to_complete < 90
エラーが発生します。私は何が間違っているのですか?
式を繰り返すか、サブクエリ(またはcte)を使用する必要があります。
SELECT *
FROM (
SELECT
(amount / 100) as "Reel_$",
CASE
WHEN savingstrategyfrequency = 'day'
THEN CEIL(((total - (successfulamount + pendingamount)) * 1.00) / savingstrategyamount)
WHEN savingstrategyfrequency = 'week'
THEN CEIL(((total - (successfulamount + pendingamount)) * 1.00) / ((savingstrategyamount * 1.00) / 7))
END AS days_to_complete
FROM prodjoinreel.goals
WHERE status IN ('active')
) t
WHERE days_to_complete < 90
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加