请问一个关于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没什么很大的区别在这段上。。请高手指点下。。谢谢