以下のような複数の case ステートメントを持つ SQL ステートメントがあります。
SUM(CASE [Type]
WHEN 418
THEN CASE WHEN PMTS.DateCreated BETWEEN @sd AND @ed
AND( PMTS.Amount >0 OR PMTS.Mileage >0)
AND PMTS.PaymentEventID = 0 THEN Mileage END
ELSE 0 END) AS DriverMileage
しかし、変数を設定し、それを WHERE 句の where で使用するには、合計の結果が必要です。
以下の例
DECLARE @contribution decimal
SElECT PMTS.VolunteerId ,
SET @contribution = SUM(CASE [Type]
WHEN 1003
THEN CASE WHEN PMTS.DateCreated BETWEEN @sd AND @ed
AND( PMTS.Amount >0 OR PMTS.Mileage >0)
AND PMTS.PaymentEventID = 0
THEN Amount END
ELSE 0 END) AS GPContributions
FROM PMTS WHERE @contribution >0
どうもありがとう