2013-03-25 12 views
5

Próbuję utworzyć widok, ale pojawia się błąd z powtarzającą się nazwą kolumny. Jeśli uruchomię zapytanie select osobno, zapytanie zwróci wynik podobny do:Uzyskiwanie błędu SQL: ORA-00957: zduplikowana nazwa kolumny podczas tworzenia widoku

SELECT distinct app.APP_REF_NO, app.APP_STATUS, app.APP_DT, app.ATTEND_STAFF, 
       app.ATTEND_BRANCH, app.PRODUCT_TYPE, cust.CUST_ID, 
       cust.APP_JOINT_T, cust.ID1_TYPE, cust.ID1, cust.ID2_TYPE, 
       cust.ID2, cust.FIRST_NAME, cust.LAST_NAME, cust.FULL_NAME, 
       cust.FULL_NAME_CAP, cust.DOB, fac.FACILITY_NO, fac.PRODUCT_TYPE, 
       fac.PRODUCT_CODE, fac.MAIN_PROD_IND, fac.AMT_APPLIED 
FROM 
    LOSA_APP app 
LEFT JOIN 
    LOSA_CUST cust 
ON 
    cust.APP_REF_NO = app.APP_REF_NO 
LEFT JOIN 
    LOSA_FACILITIES fac 
ON 
    fac.APP_REF_NO = app.APP_REF_NO 
LEFT JOIN 
    OS_CURRENTSTEP STEP 
ON 
    STEP.REF_ID = app.APP_REF_NO 
    WHERE (app.APP_STATUS ='P' OR app.APP_STATUS ='T' OR 
     ((app.APP_STATUS='R' OR app.APP_STATUS='S') AND STEP.STEP_NAME='011')); 

To zapytanie działa poprawnie. Ale kiedy próbuję go uruchomić jako widok:

CREATE VIEW basit_test1 AS 
SELECT distinct app.APP_REF_NO, app.APP_STATUS, app.APP_DT, app.ATTEND_STAFF, 
       app.ATTEND_BRANCH, app.PRODUCT_TYPE, cust.CUST_ID, 
       cust.APP_JOINT_T, cust.ID1_TYPE, cust.ID1, cust.ID2_TYPE, 
       cust.ID2, cust.FIRST_NAME, cust.LAST_NAME, cust.FULL_NAME, 
       cust.FULL_NAME_CAP, cust.DOB, fac.FACILITY_NO, fac.PRODUCT_TYPE, 
       fac.PRODUCT_CODE, fac.MAIN_PROD_IND, fac.AMT_APPLIED 
FROM 
    LOSA_APP app 
LEFT JOIN 
    LOSA_CUST cust 
ON 
    cust.APP_REF_NO = app.APP_REF_NO 
LEFT JOIN 
    LOSA_FACILITIES fac 
ON 
    fac.APP_REF_NO = app.APP_REF_NO 
LEFT JOIN 
    OS_CURRENTSTEP STEP 
ON 
    STEP.REF_ID = app.APP_REF_NO 
    WHERE (app.APP_STATUS ='P' OR app.APP_STATUS ='T' OR 
     ((app.APP_STATUS='R' OR app.APP_STATUS='S') AND STEP.STEP_NAME='011')); 

Następnie pojawia się błąd nazwy kolumny z duplikatem. Dlaczego otrzymuję ten błąd?

Odpowiedz

12

masz dwie product_type kolumny:

fac.PRODUCT_TYPE 

i

app.PRODUCT_TYPE 

należy alias jednego z nich np

app.PRODUCT_TYPE app_prod_type 
Powiązane problemy