2015-10-20 90 views
2

这里(不是对象或REF)是引发此错误一个相当简单的查询:ORA-22806的加入到一个视图

SELECT RR.REQUEST_ID 
FROM CCS_REQUEST_RESPONSE RR 
INNER JOIN VW_STUDENT_CURRENT_AND_HIST VW 
ON RR.STUDENTID = VW.STUDENT_NUMBER 

这只能加入到视图时发生。
该视图是一个简单的联合所有2个相同的表。 当我在上面的查询中替换单个表而不是视图时,它工作正常。

所以,

SELECT RR.REQUEST_ID 
FROM CCS_REQUEST_RESPONSE RR 
INNER JOIN HISTORICAL_STUDENTS VW 
ON RR.STUDENTID = VW.STUDENT_NUMBER 

作品就好了。

这里是视图:

CREATE OR REPLACE VIEW "VW_STUDENT_CURRENT_AND_HIST" ("STUDENT_NUMBER") AS 
    SELECT "STUDENT_NUMBER" 
    FROM HISTORICAL_STUDENTS 
UNION ALL 
    SELECT "STUDENT_NUMBER" 
     FROM CURRENT_YEAR_STUDENTS; 

有趣的是,这个曾经工作,突然停了下来。 任何想法?

+0

不能伤害CAST student_number,因为在SELECT CAST中(STUDENT_NUMBER AS NUMBER(9))AS STUDENT_NUMBER – kevinsky

+1

请使用DESC描述所有表格。 –

回答

0

已解决。

视图中的两个表格虽然与字段名称和定义相同,但具有不同的字段顺序。
我使用与另一个DDL相同的DDL删除并重新创建了一个表,现在它工作正常。

我不知道为什么这将是一个问题,但也许别人可以回答。