错误:ORA-00905:将表连接到选择查询时缺少关键字
Posted
技术标签:
【中文标题】错误:ORA-00905:将表连接到选择查询时缺少关键字【英文标题】:Error: ORA-00905: missing keyword when joining table to a select query 【发布时间】:2018-04-10 17:14:31 【问题描述】:我正在尝试将表链接到选择查询,但我收到错误:ORA-00905:缺少关键字。这是我写的oracle sql。
当我单独运行时,数据会拉出。当我尝试加入他们时,我得到了错误。我尝试根据在 Internet 上找到的一些帮助信息添加 Group BY 和 Order by,但仍然遇到相同的错误。
SELECT
AS_MASTER_NF.CONTRACT_NO
, AS_HISTORY_NF.AH_CONTRACT_NBR
, AS_MASTER_NF.ID
, AS_MASTER_NF.A_INVENT_DATE
, AS_MASTER_NF.A_DISP_DATE
FROM INFL_IDS.AS_MASTER_NF
LEFT JOIN (SELECT
NVL(SUBSTR(ALTERNATE_ID, 0, INSTR(ALTERNATE_ID, '*')-1), ALTERNATE_ID) AS ASSET
, AS_HISTORY_NF.AH_CONTRACT_NBR
FROM INFL_IDS.AS_HISTORY_NF
WHERE LENGTH (AH_CONTRACT_NBR)> 3) AS ASHISTORY
ON INFL_IDS.AS_MASTER_NF.ID = INFL_IDS.ASHISTORY.ASSET
WHERE AS_MASTER_NF.A_INVENT_DATE IS NOT NULL
GROUP BY
AS_MASTER_NF.CONTRACT_NO
, AS_HISTORY_NF.AH_CONTRACT_NBR
, AS_MASTER_NF.ID
, AS_MASTER_NF.A_INVENT_DATE
, AS_MASTER_NF.A_DISP_DATE
ORDER BY
AS_MASTER_NF.CONTRACT_NO
, AS_HISTORY_NF.AH_CONTRACT_NBR
, AS_MASTER_NF.ID
, AS_MASTER_NF.A_INVENT_DATE
, AS_MASTER_NF.A_DISP_DATE
FETCH FIRST 20 ROWS ONLY
【问题讨论】:
你试过SQL> show err
来获取完整的错误列表吗?
【参考方案1】:
变化:
ON INFL_IDS.AS_MASTER_NF.ID = INFL_IDS.ASHISTORY.ASSET
到:
ON INFL_IDS.AS_MASTER_NF.ID = ASHISTORY.ASSET
因为,ASHISTORY
不是INFL_IDS
架构下的表或视图,而只是此 sql 中定义的子查询。
【讨论】:
以上是关于错误:ORA-00905:将表连接到选择查询时缺少关键字的主要内容,如果未能解决你的问题,请参考以下文章
无法更正 Oracle 错误 ORA-00905 SQL 中缺少关键字