2014-12-22 4 views
0

다음 코드에서 NOT INIS 연산자를 NOT EXISTS로 바꾸려고했습니다. 그러나 "잘못된 관계 연산자 오류"가 발생합니다.이 코드에서 NOT IN을 NOT EXISTS로 바꾸는 방법은 무엇입니까?

어떻게이 오류를 해결할 수 있습니까? 중요한 것을 놓친 건가요? 도와주세요.

SELECT DISTINCT 'v1', 
        'v2', 
        f.apples, 
        f.bananas, 
        f.oranges  
FROM fruits f 
    WHERE f.code = 'F1' 
    AND f.buyer_fruit_code 
    NOT EXISTS 
      (SELECT c.color_code 
       FROM colors c); 

답변

2

NOT IN 연산자는 NOT EXISTS 절에서 뭔가 다른 것을 의미한다. 다른 것들 중에서도 NOT EXISTS은 운영자가 아닙니다. 아마도 당신은 다음과 같은 것을 원할 것입니다 :

SELECT DISTINCT 'v1', 
       'v2', 
       f.apples, 
       f.bananas, 
       f.oranges  
FROM fruits f 
WHERE 
    f.code = 'F1' 
    AND NOT EXISTS (
    SELECT c.color_code 
    FROM colors c 
    WHERE c.color_code = f.buyer_fruit_code 
) 
; 
0

대신을 시도해보십시오

SELECT DISTINCT 'v1', 
         'v2', 
         f.apples, 
         f.bananas, 
         f.oranges  
    FROM fruits f 
    LEFT JOIN color_code c ON f.fruit_code=c.color_code 
     WHERE f.code = 'F1' 
     AND c.color_code is NULL 
+0

감사합니다. 저는 이것을 시험해보고 싶습니다만, 저는 여기에 '존재하지 않음'을 'NOT IN'으로 대체하고자합니다. – codeforme