进行货币兑换

时间:2014-11-13 22:38:16

标签: sql sql-server-2005

很长一段时间潜伏着第一个问题。 SQL新手,我正在尝试通过遵循此处不再使用的人员编写的代码进行货币转换。我一直在关键字' AS'附近收到错误"错误的语法。"我无法弄明白为什么。我基本上使用我们的内部交换表将每加仑的美元价格换算成CND $的PPL。让我头疼,因为我通常可以在某处找到答案。

SQL Server 2005

   CASE
          WHEN 
                CONVERT(DECIMAL(10,3),([Tractor Cost]-(([Tractor Cost]/([Tractor Cost]+[Reefer Cost])) * [Rebate Amount]) )/[Tractor Gallons]) is NULL THEN 0 
                ELSE  
                CONVERT(DECIMAL(10,3),([Tractor Cost]-(([Tractor Cost]/([Tractor Cost]+[Reefer Cost])) * [Rebate Amount]) )/[Tractor Gallons]) * 3.785 *

 CASE
          WHEN [Currency Type] = 'U' THEN

                (SELECT TOP 1 cex_rate  
                 FROM dbo.currency_exchange
                 WHERE [Transaction Date] >= [cex_date]
                 ORDER BY cex_date DESC   
                  )
            ELSE 0 
            END  AS 'Tractor Rebate Price',

1 个答案:

答案 0 :(得分:0)

您需要使用CASE关闭END语句。

我认为这是你的问题。您有2 CASE次使用,但只有1 END