AmountSold の合計を AmountSold として返し、AmountCollected の合計を AmountCollected として返さなければならない複雑なストアド プロシージャがあります。以下の条件に応じて、その金額は、Sold、collected、または UpgradedCollected に追加する必要があります。「キーワードの近くの構文エラーが正しくありません」および「キーワードの場合」という構文エラーがよくわかりません。ここで何が間違っていますか?前もって感謝します!
最初の 2 つの if では、どちらかが正しいと仮定して別のコードを書きました。これは SQL 05 にあります。
Select sum(cast(RDC.AmountSold as numeric(10,2))) as AmountSold,
sum(cast(RDC.AmountCollected as numeric(10,2))) as AmountCollected,
case when RDC.AmountUpgraded = RDC.AmountUpgradedCollected
then sum(cast((AmountSold + RDC.AmountUpgraded)as numeric(10,2))) as AmountSold
and sum(cast((AmountCollected + RDC.AmountUpgradedCollected)as numeric(10,2))) as AmountCollected
else if RDC.AmountUpgraded > RDC.AmountUpgradedCollected
then AmountSold = AmountSold + RDC.AmountUpgraded
and AmountCollected = AmountCollected + RDC.AmountUpgradedCollected
else
then AmountSold = AmountSold + RDC.AmountUpgraded
and AmountCollected = AmountCollected + RDC.AmountUpgraded
and AmountUpgradedCollected = AmountUpgradedCollected + (RDC.AmountUpgradedCollected - RDC.AmountUpgraded)
as AmountUpgradedCollected
end