日期:2014-05-16  浏览次数:20717 次

请问一个关于ora-00907的问题


SELECT   FileID   AS   "ID ",   FILENO,   TITLE,   KRISADMIN. "STATUS ". "DESCRIPTION "   AS   "STATUS ",   KRISADMIN. "SECURITYLEVEL ". "DESCRIPTION "   AS   "GRADING ",   KRISADMIN. "COMPARTMENT ". "NAME "   AS   "NAME "   FROM   KRISADMIN. "FILE "   LEFT   JOIN   KRISADMIN. "STATUS "   ON   KRISADMIN. "FILE ".STATUSID   =   KRISADMIN. "STATUS ".STATUSID   LEFT   JOIN   KRISADMIN. "SECURITYLEVEL "   ON   KRISADMIN. "FILE ".SECURITYLEVELID   =   KRISADMIN. "SECURITYLEVEL ".SECURITYLEVELID   LEFT   JOIN   KRISADMIN. "COMPARTMENT "   ON   KRISADMIN. "FILE ".COMPARTMENTID   =   KRISADMIN. "COMPARTMENT ".COMPARTMENTID   WHERE   (UPPER(FileNo)   LIKE   'CEO% '   OR   UPPER(Title)   LIKE   '%CEO% 'OR   UPPER(KRISADMIN. "STATUS ". "DESCRIPTION ")   LIKE   '%CEO% 'OR   UPPER(KRISADMIN. "SECURITYLEVEL ". "DESCRIPTION ")   LIKE   '%CEO% 'OR   UPPER(KRISADMIN. "COMPARTMENT ". "NAME ")   LIKE   '%CEO% ')AND   (FILEID   IN   (SELECT   "ChildID "   FROM   KRISADMIN.UDF_COMPTFILETREE( '2 ', '1 '))     OR   FILEID   IN   (SELECT   "ChildID "   FROM   KRISADMIN.UDF_SUBJFILETREE( '2 ', '1 '))     OR   FILEID   IN   (SELECT   "ChildID "   FROM   KRISADMIN.UDF_PUBLICCOMPTFILETREE( '1 ')))ORDER   BY   "NAME ",FILENO,TITLE

错误代码是ora-00907,网上查是说order   by的问题,但是去了order   by后还是一样的错误。。错误显示始终是在IN   上。。就是FILEID   IN   。只要有一个Fileid   IN存在就出错。。

这个语句是在MSSQL里测试是通过的。。感觉上MSSQL和ORACLE没什么很大的区别在这段上。。请高手指点下。。谢谢

------解决方案--------------------
没遇到过这样的问题,自己看下自己的代码吧!