这是我的代码:
select max(vhis_data.C0432_SAMPL_VALUE1_R), vhis_data.C0401_aid
from vhis_data, T0401_accounts
where vhis_data.C0401_aid = T0401_accounts.C0401_aid
and (
vhis_data.c0401_aid between 1179 and 1291 or
vhis_data.c0401_aid between 1382 and 1402 or
vhis_data.c0401_aid between 1462 and 1620 or
# and so on until...
vhis_data.c0401_aid between 5450 and 5485 or
vhis_data.c0401_aid between 5503 and 5495 or
)
(这些数字代表系统中的各个点)
程序显示错误:
vhis_data.c0401_aid between 1179 and 1291 or
*
ERROR at line 5:
ORA-00936: missing expression
我注意到的是错误的第一部分引用了我的
代码部分的第一行。and ( ... )
我还注意到我的代码or
的最后一行有一个额外的内容。我可以把它拿出来,但这是整个部分不起作用or
的唯一原因吗?and (...)
还是我的代码不起作用的另一个原因?
(我想我的一个子问题是,如果缺少表达式,代码在哪里停止正确执行?)
例如,在这里,缺少的表达式可能是最后一行(因为它在“或”之后期待一些东西)。但是,代码甚至没有经过and (...)
代码部分的第一行。
我已经在网上梳理了处理错误ORA-00936: missing expression但没有找到任何相关的内容来帮助我在这种特殊情况下的解释。
我欢迎您提出任何批评或建议,并在此先感谢您为我所做的任何贡献!