2015-10-20 29 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刪除並重新創建了一個表,現在它工作正常。

我不知道爲什麼這將是一個問題,但也許別人可以回答。