2014-11-13 95 views
0

嗨很久潜伏者第一个问题。对于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', 
+0

您需要一个'END'来关闭外壳'CASE'。如果你正确地缩进你的代码,那会更明显。 –

回答

0

您需要与END关闭两个你CASE语句。

这是你的问题,我想。您只有2 CASE的用途,但只有1 END