Неверный синтаксис SQL-кода при использовании> больше чем - PullRequest
1 голос
/ 14 июля 2010

Это сводит меня с ума! Это должно быть что-то простое.

Вот мой код:

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 Ответ

10 голосов
/ 14 июля 2010

У вас есть элемент в части 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

Однако вы не можете делать какую-либо сложную логику в этомсценарий.То есть он действует как оператор `switch 'во многих языках типа C, просто сопоставляя значения в частях When.Когда вы хотите сделать логические выражения, вам нужно оставить часть CASE пустой и просто иметь части WHEN.

...