2016-10-15 20 views
1

SQL을 처음 접했을 때 커뮤니티의 지침이 필요합니다!. W3Schools 및 포럼의 문서뿐만 아니라 잠시 동안이 오류를 조사했습니다 ... 주사위가 없습니다! 두 개의 다른 테이블에서 실행되는 쿼리를 만들고 있는데 COLUMNS가 선택/식별되었습니다. 테이블, INNER JOIN 설정, IN과 함께 WHERE 설정이 동일합니다. WHERE/IN 함수는 열 모호성 오류가 발생하는 곳입니다.성가신 ORA-00918 IN 함수를 사용하여 WHERE 함수에 오류가 발생했습니다.

SELECT ORDERLINE.ORDER_ID, ORDERLINE.PRODUCT_ID, 
     PRODUCT.PRODUCT_ID, PRODUCT.PRODUCT_NAME, PRODUCT.PRODUCT_PRICE 
FROM ORDERLINE, PRODUCT 
     INNER JOIN ORDERLINE ON ORDERLINE.PRODUCT_ID=PRODUCT.PRODUCT_ID 
WHERE ORDERLINE.ORDER_ID IN ('1001'); 

내가 여기 잘못 된 곳에 대한 생각?

답변

1

구문이 약간 꺼져 있습니다 - orderline 테이블에 두 번째로 일치하는 오류가 발생하여 join을 시도하고 있습니다. 일반적으로 from 절에 쉼표를 사용하지 마십시오.

이는 단일 join를 사용하여 작동합니다 :

SELECT OL.ORDER_ID, OL.PRODUCT_ID, P.PRODUCT_ID, P.PRODUCT_NAME, P.PRODUCT_PRICE 
FROM ORDERLINE OL 
    JOIN PRODUCT P ON OL.PRODUCT_ID=P.PRODUCT_ID 
WHERE OL.ORDER_ID IN ('1001'); 
+0

전구의 순간을! 감사합니다 sgeddes –