Q&A

  • 목록에 없는 데이타만 쿼리하기..
예를 들어 회원db와 대여db가 있습니다.(파라독스를 쓰고 있음.)

두개의 테이블을 조인해서 대여실적이 없는 회원만 뽑아내고 싶은데요.

Select distinct a.*,b.* from "a.db" a ,"b.db" b

where a.code<>b.code

잘 몰라서 이런식으로 쿼리를 했거든요. 아마도 잘못된 쿼리가 아닐까 생각합니다.

예전에 Not In~ 이런 식으로 된 쿼리를 본 기억이 있는데 파라독스에서도 가능한지요.

어쨋든 한번도 대여를 하지 않은 회원만 축출하는 쿼리를 알려주시면 감사하겠습니다!

2  COMMENTS
  • Profile
    신호성 1999.11.25 17:57
    박성훈 wrote:

    > 예를 들어 회원db와 대여db가 있습니다.(파라독스를 쓰고 있음.)

    > 두개의 테이블을 조인해서 대여실적이 없는 회원만 뽑아내고 싶은데요.

    > Select distinct a.*,b.* from "a.db" a ,"b.db" b

    > where a.code<>b.code

    > 잘 몰라서 이런식으로 쿼리를 했거든요. 아마도 잘못된 쿼리가 아닐까 생각합니다.

    > 예전에 Not In~ 이런 식으로 된 쿼리를 본 기억이 있는데 파라독스에서도 가능한지요.

    > 어쨋든 한번도 대여를 하지 않은 회원만 축출하는 쿼리를 알려주시면 감사하겠습니다!



    위와같이 JOIN을 통하여 결과를 얻을 수 있지만

    다음과 같은 방법을 사용하시는 것이 더 효율적일것 같군요.



    회원TABLE을 A, 대여TABLE을 B라고 가정하고

    회원TABLE의 프라이머리키를 '회원번호' 라 가정하면



    SELECT * FROM A

    WHERE 회원번호 NOT IN ( SELECT DISTINCT 회원번호 FROM B )

















  • Profile
    김종섭 1999.11.25 09:46
    박성훈 wrote:

    > 예를 들어 회원db와 대여db가 있습니다.(파라독스를 쓰고 있음.)

    > 두개의 테이블을 조인해서 대여실적이 없는 회원만 뽑아내고 싶은데요.

    > Select distinct a.*,b.* from "a.db" a ,"b.db" b

    > where a.code<>b.code

    > 잘 몰라서 이런식으로 쿼리를 했거든요. 아마도 잘못된 쿼리가 아닐까 생각합니다.

    > 예전에 Not In~ 이런 식으로 된 쿼리를 본 기억이 있는데 파라독스에서도 가능한지요.

    > 어쨋든 한번도 대여를 하지 않은 회원만 축출하는 쿼리를 알려주시면 감사하겠습니다!



    다음과 같이 해보세요....

    select distinct * from db1.a,db2.b

    where b.어떤필드 is null