这让我发疯了!一定很简单。
这是我的代码:
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
我收到错误消息
'>'附近的语法不正确。
我在这里做错了什么?
答案 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部分。