You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Oracle查询报错ORA-00904:无效标识符问题求助

ORA-00904错误分析与修复方案

错误原因

  1. 列引用不存在:finalresults中尝试引用t.testtime,但上游的tests CTE并未将t.testtime纳入查询结果列。tests仅选取了t.time,尽管WHERE子句用到了t.testtime,但未将其加入SELECT列表,导致后续无法访问该列。
  2. 语法错误:
    • tests的SELECT语句最后一列t.time后多了冗余逗号。
    • finalresults的GROUP BY子句中,t.testtime与t.result之间缺少分隔逗号。

修正后的SQL

WITH tests AS (
 SELECT 
   t.place, 
   t.stationnr, 
   t.result, 
   i.type, 
   t.testtime -- 新增该列,供后续CTE使用
 FROM 
   result_test t 
   INNER JOIN result_ident i ON t.place = i.place
   JOIN stat_testplacegroup pg ON pg.place = t.place 
   INNER JOIN result_release r ON i.type = r.type
 WHERE 
   t.testtime BETWEEN TO_DATE('2022-11-20T00:00:00', 'YYYY-MM-DD"T"HH24:MI:SS') 
   AND TO_DATE('2022-11-26T00:00:00', 'YYYY-MM-DD"T"HH24:MI:SS')
), 
finalresults AS (
 SELECT 
   t.place "place", 
   t.stationnr "stationnr", 
   convres(t.result) "convres", 
   t.type "type", 
   t.testtime "testtime"
 FROM 
   tests t 
   INNER JOIN result_testecu_11 tecu ON tecu.testresid = t.testresid 
   INNER JOIN result_pathecu pecu ON pecu.ecuid = tecu.ecuid 
   INNER JOIN result_pathfunc func ON pecu.ecuid = func.ecuid 
 GROUP BY  
   t.place, 
   t.stationnr, 
   t.type, 
   t.testtime, -- 补充逗号
   t.result
) 
SELECT 
 * 
FROM 
 finalresults 
ORDER BY 
 finalresults.testtime DESC FETCH FIRST 5 ROWS ONLY;

内容的提问来源于stack exchange,提问作者Matt

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.04 19:30:35