SELECT POSID
FROM PRPS
WHERE POSID NOT IN ( SELECT POSID FROM ..... ).
OPEN SQL에서 위의 구문을 인식을 하는데
SELECT POSID
FROM PRPS
WHERE ( PSPID POSID ) NOT IN ( SELECT PSPID POSID FROM ..... ).
이렇게 하면 에러나 나네요...ㅠㅠ
OPEN SQL에서는 안되는건가요? 아니면 제가 잘못 한건가요....?
댓글 6
-
정군
2009.11.12 19:59
-
이카루스
2009.11.12 20:59
하나만 쓰는건 아는데 저는 두개 이상의 필드를 하려고 하는 겁니다.
두개이상의 필드를 쓰는것이 가능한데 구문이 잘못된 것인지
하나의 필드만 사용 할 수 있는 것인지를 알려주세요~~ ^^;
-
서영아빠
2009.11.12 21:35
SELECT POSID
FROM PRPS
WHERE POSID NOT IN ( SELECT POSID FROM ..... )
AND PSPID NOT IN ( SELECT PSPID FROM ..... )
이렇게 쓰면 어떨지
두개이상의 필드를 쓰는것은 안돼는 것으로 알고 있는데요
-
이카루스
2009.11.12 22:51
두필드가 동시에 같지 않아야 하는게 그렇게 쓰면 결과가 달라질 것같네요...^^;
결국 open sql로는 안된다는 말씀이시죠...?
다른방법을 찾아봐야 겠네요~~ 감사합니다~~ ^^
-
CoolGuy
2009.11.12 23:07
정확한 의도는 모르겠으나
EXISTS를 사용하시거나
Dynamic conditions을 사용해 조건절을 만드시면 될꺼같네요..
-
Risky
2009.11.17 00:38
왜 NOT IN구를 쓰실려고 하시는 지는 잘 모르겠지만,
NOT IN구는 내부적으로 소트마지의 결합으로서 테이블 전체스캔하고요,
NOT EXISTS구는 조건에 대해서 일치하는 레코드가 한건만 있어도 종료하기 때문에,
NOT IN에 비해서 부하가 적습니다.
SELECT POSID
FROM PRPS
WHERE NOT EXISTS ( SELECT PSPID POSID FROM ..... ).
잘못하신거 같은데요.
하나만 쓰셔야는거 아닌가요?
PSPID나 POSID하나씩만...