Продължавам да получавам тази досадна грешка, когато пробвам този код:
select
gam.acid,
gam.foracid,
gam.acct_name,
gam.sol_id,
sol.sol_desc,
gam.gl_sub_head_code,
case gsh.gl_code
when cast(gl_code as int) >= 01 and cast(gl_code as int) <=13
or cast(gl_code as int) >= 15 and cast(gl_code as int) <=24 then 'A'
when cast(gl_code as int) >= 28 and cast(gl_code as int) <= 31
or cast(gl_code as int) >= 33 and cast(gl_code as int) <= 39
or cast(gl_code as int) = 41
or cast(gl_code as int) >= 43 and cast(gl_code as int) <= 48 then 'L'
when cast(gl_code as int) = 51
or cast(gl_code as int) = 53
or cast(gl_code as int) >= 55 and cast(gl_code as int) <= 57 then 'C'
when cast(gl_code as int) >= 61 and cast(gl_code as int) <= 70
or cast(gl_code as int) >= 72 and cast(gl_code as int) <= 81 then 'I'
when cast(gl_code as int) = 84 or cast(gl_code as int) = 85
or cast(gl_code as int) >= 87 and cast(gl_code as int) <= 94 then 'E'
when cast(gl_code as int) >= 97 and cast(gl_code as int) <= 99 then 'S'
else null
end as gl_classification
from tbaadm.gam
Имам чувството, че някои неща не са на мястото си в кода или съм забравил да направя/добавя нещо. Всяка помощ ще бъде оценена.
case gsh.gl_code
само наcase
, както е споменато в отговорите)? Сигурни ли сте, че е отcase
, а не от клаузата joins/where, която не сте показали? - person Alex Poole   schedule 15.04.2014when cast(gl_code as int) >= 01 and cast(gl_code as int) <=13
жабата винаги сочи знака>=
точно до01
- person JamesP   schedule 15.04.2014