使用>时,Easy SQL语法不正确比...更棒

时间:2010-07-13 20:07:40

标签: sql syntax operators

这让我发疯了!一定很简单。

这是我的代码:

Select 
logid,
row_date,
sum(acdcalls) as 'total calls',
sum(ti_stafftime) as 'total time staffed',
sum(acdtime) as 'time on the phone',
Case acdtime
When acdtime > 0 Then
sum(ti_stafftime/acdtime)
Else '0'
End as MyPercent,
RepLName+', '+RepFName AS Agent,
SupLName+', '+SupFName AS Sup,
MgrLName+', '+MgrFName AS Manager

我收到错误消息

  

'>'附近的语法不正确。

我在这里做错了什么?

1 个答案:

答案 0 :(得分:10)

CASE部分中有一个项目,WHEN中有一个表达式。你必须选择其中一个:

Case 
When acdtime > 0 Then sum(ti_stafftime/acdtime) 
Else '0'
End as MyPercent,

要使用CASE部分中的值,您可以执行以下操作:

Case Foo
When 'Bar' Then 1
When 'Gamma' Then 2
...
End

但是,在这种情况下,您无法执行任何复杂的逻辑操作。即,它通过简单地匹配When部分中的值,就像许多C类语言中的`switch'语句一样。如果要执行逻辑表达式,则需要将CASE部分保留为空白,并且只保留WHEN部分。