|
我有以下查询,效果很好!( g0 s2 L2 W; }+ K
唯一的问题是我需要按DESC顺序排列的结果集,我在查询结束时附加到以下内容ORDER BY以下将产生子句Oracle错误:2 ^: k2 F/ l2 o0 b" N- b$ T+ k1 Y
ORA-00933:SQL00933没有正确结束命令。-“ SQL命令未正确结束” 原因:) k7 @" S( V, B' I2 {* K
操作:行错:46列:54
1 E1 v* r8 k' j1 c$ I; Y) A; t) Y5 O这是查询。同样,此查询也有效。只是当我添加以下行程时:
% i* L: F2 k- _4 A1 Y @FINAL_SEARCH order by FINAL_SEARCH.DOC_HDR_ID desc一切都破了。+ j k+ O+ A+ J# R; r% n
有什么想法吗?我相信我ALIAS和它有关,但我可能错了。
4 v! |3 v* `; V5 W, D* M询问 - e. g$ `2 |( A
Select * from ( select DISTINCT(DOC_HDR.DOC_HDR_ID), DOC_HDR.INITR_PRNCPL_ID, DOC_HDR.DOC_HDR_STAT_CD, DOC_HDR.CRTE_DT, DOC_HDR.TTL, DOC_HDR.APP_DOC_STAT, DOC1.DOC_TYP_NM, DOC1.LBL,DOC1.DOC_HDLR_URL, DOC1.ACTV_IND from KREW_DOC_TYP_T DOC1,KREW_DOC_HDR_T DOC_HDR where DOC_HDR.INITR_PRNCPL_ID IN and DOC1.DOC_TYP_NM = 'PO' or DOC1.DOC_TYP_NM = 'POA' or DOC1.DOC_TYP_NM = 'POC' or DOC1.DOC_TYP_NM= 'POPH' or DOC1.DOC_TYP_NM ='PORH' or DOC1.DOC_TYP_NM = 'POR' or DOC1.DOC_TYP_NM = 'PORT' or DOC1.DOC_TYP_NM = 'POSP' or DOC1.DOC_TYP_NM = 'POV') and DOC_HDR.DOC_HDR_STAT_CD!= 'I' and DOC_HDR.DOC_TYP_ID = DOC1.DOC_TYP_ID ) UNION Select DISTINCT DOC_HDR.DOC_HDR_ID, DOC_HDR.INITR_PRNCPL_ID, DOC_HDR.DOC_HDR_STAT_CD, DOC_HDR.CRTE_DT, DOC_HDR.TTL, DOC_HDR.APP_DOC_STAT, DOC1.DOC_TYP_NM, DOC1.LBL, DOC1.DOC_HDLR_URL, DOC1.ACTV_IND FROM KREW_DOC_TYP_T DOC1, KREW_DOC_HDR_T DOC_HDR WHERE DOC1.DOC_TYP_NM = 'PO' AND CAST(DOC_HDR.DOC_HDR_ID AS VARCHAR(14)) = ANY ( Select PPT.FDOC_NBR FROM PUR_PO_T PPT,PL_PURCHASE_LOG_PO_T PPL WHERE PPT.AP_PUR_DOC_LNK_ID = ANY ( Select PRT.AP_PUR_DOC_LNK_ID FROM PUR_REQS_T PRT, KREW_DOC_HDR_T DOC_HDR WHERE CAST(DOC_HDR.DOC_HDR_ID AS VARCHAR(14)) = PRT.FDOC_NBR AND DOC_HDR.INITR_PRNCPL_ID IN FINAL_SEARCH order by FINAL_SEARCH.DOC_HDR_ID desc;更新-我删除了ALIAS,两次查询后都放置了 ORDER BY句子,句子在SQL
: T0 f5 V! r0 j ]" t5 B0 YDeveloper有效。但是,当我使用它的时候。Java生成此查询Web在执行此查询时,有关无效符号的应用程序ORACLE错误。无效符号用于终止第一个ORDER0 I5 O) o: W' k+ s
BY语句的分号。否则,它将无法在SQL Developer中间工作,但显然当我通过执行时Web App当生成相同的句子时-它将失败。$ j/ i7 A/ Z; c* ^7 e: h( W4 O, Y; q
7 U% k. }* P4 f9 q& V% I 解决方案: |
|