我正在构建一个复杂的查询。首先是我的查询
select LOSA_APP.app_ref_no AS "App.Ref.No."
from losa_app LOSA_APP,
losa_app_z LOSA_APP_Z
where
LOSA_APP.app_status='A'
and
trunc(sysdate) between (nvl(LOSA_APP_Z.li_dt, LOSA_APP_Z.li_collect_dt)) AND ((trunc(sysdate)))
and
(trunc(sysdate) - nvl(losa_app_z.li_dt,losa_app_z.li_collect_dt)) > 90
and
(select losa_app_z.app_ref_no
from losa_app_z
where (trunc(sysdate) - nvl(losa_app_z.li_dt, losa_app_z.li_collect_dt)) > 90
)
问题是,如果我单独运行最后一个查询,或者我省略了最后一个查询,那么它运行正常,就像我只运行
(select losa_app_z.app_ref_no
from losa_app_z
where (trunc(sysdate) - nvl(losa_app_z.li_dt, losa_app_z.li_collect_dt)) > 90)
但如果我运行整个查询,那么我得到错误
ORA-00936: missing expression
00936. 00000 - "missing expression"
*Cause:
*Action:
Error at Line: 7 Column: 128
第7行是我上次查询and
(select losa_app_z.app_ref_no from losa_app_z....
所在的行。我做错了什么?请帮忙。
由于
答案 0 :(得分:0)
您应该比较此查询的结果
and
(select losa_app_z.app_ref_no
from losa_app_z
where (trunc(sysdate) - nvl(losa_app_z.li_dt, losa_app_z.li_collect_dt)) > 90
) = something_here
某事。
为了将来,请始终尝试正确管理您的括号。必要时计算它们。