0

複雑なクエリを作成しています。まず、ここに私のクエリがあります

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....が存在する行です。私は何を間違っていますか?助けてください。

ありがとう

4

1 に答える 1

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

何かに。

将来のために、常にブラケットを適切に管理するようにしてください。必要に応じてそれらを数えます。

于 2012-11-20T10:38:19.593 に答える