我已经阅读了其他错过的右括号问题,但没有找到问题的答案。我认为这是一个语法错误,在结束前切断了一些东西(我不是真正的甲骨文家伙),但我不知道它在哪里。该查询应该提取客户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
答案 0 :(得分:4)
删除AS:
FROM CUSTOMER AS tblYr
AS可用于列别名,而不是表别名