获取 ORA-00907 的 Oracle 查询:缺少右括号

Posted

技术标签:

【中文标题】获取 ORA-00907 的 Oracle 查询:缺少右括号【英文标题】:Oracle query getting ORA-00907: missing right parenthesis 【发布时间】:2012-01-09 16:50:03 【问题描述】:

我已经阅读了其他缺少的右括号问题,但没有找到我的问题的答案。我认为这是一个语法错误,在结束之前切断了东西(我不是真正的 Oracle 人),但我不知道它在哪里。该查询应该提取客户 ID,并且最近一年有该客户的记录。参数是客户 ID 号(按地区唯一,但与组织不同)、地区和被搜索的年份。如果该地区的搜索年份没有记录,则不应返回任何记录。

SELECT DISTINCT CUSTOMER.CUSTOMER_ID_ALT, tblMaxYear.maxYear 
FROM CUSTOMER CROSS JOIN 
  (SELECT to_char(Max(tblYr.FISCAL_YEAR), 'YYYY') AS maxYear     
  FROM CUSTOMER AS tblYr 
  WHERE tblYr.DISTRICT_KEY= :district
      AND tblYr.CUSTOMER_ID= :cust) tblMaxYear 
WHERE CUSTOMER.DISTRICT_KEY=:district
   AND CUSTOMER.CUSTOMER_ID= :cust
   AND to_char(CUSTOMER.FISCAL_YEAR, 'YYYY') = :prmYear

【问题讨论】:

你能发布你从控制台得到的确切错误吗? 【参考方案1】:

删除AS:

FROM CUSTOMER AS tblYr

AS 可以用于列别名,不能用于表别名

【讨论】:

非常感谢。 Oracle 和 SQL Server 之间的差异再次吸引了我。

以上是关于获取 ORA-00907 的 Oracle 查询:缺少右括号的主要内容,如果未能解决你的问题,请参考以下文章

错误:ORA-00907:oracle 缺少右括号

Oracle 错误 - ORA-00907: 缺少右括号

Oracle SQL - 奇怪的“ORA-00907 缺少右括号”错误

从 DB2 移植到 ORACLE - ORA-00907:缺少右括号

获取“ORA-00907:缺少右括号”,找不到错误

Oracle SQL ORA-00907: CASE 语句中缺少右括号错误