Q&A

  • 에고 SQL문좀 봐주세요..
DB는 Oracle입니다.
조건은 요 코드가 3540, 6510, 6600~ 6890 인 것만 나타내고
              아닌 것만 나타내고 하려 하거든요...

select Sum(mony) from testdb
where (substr(kno,1,1)= 'C')
  and (date >= '2002-01-01'and date <='2002-12-31')
  and (code  in (''3540'',''6510'') or (code >=''6600'' and code <=''6890''))

에고... In은 잘 되는데
아래처럼 not in은 참으로 안되는군요....
(code not  in (''3540'',''6510'') or (code >=''6600'' and code <=''6890''))

고수님들 보시고 한 수 부탁드립니다.
감사합니다.

2  COMMENTS
  • Profile
    하얀까마귀 2003.01.23 04:57
    안녕하세요 하얀까마귀 입니다.

    아닌걸 나타낼려면 and 를 쓰셔야 되는것 아닌가요?

    (code not  in (''3540'',''6510'')  and  (code <''6600'' or code >''6890''))

    그럼.. 즐거운 시간 되세요..


  • Profile
    아폴론 2003.01.23 20:04
    에고.... 참나원.....해결을 했습니다.
    select Sum(mony) from testdb
    where (substr(kno,1,1)= 'C')
      and (date >= '2002-01-01'and date <='2002-12-31')
      and not  (code  in (''3540'',''6510'') or (code >=''6600'' and code <=''6890''))
    이렇게 not을 and뒤에 붙이니 코드가 3540,6510,6600~6890 까지만 제외하고 모든코드를 나타내 주는군요   반대로 위 코드인 것만 나타내고자 하면 이제 not 을 지워주면 되구요...  그것참.....

    답변 해 주신 하얀까마귀님 감사합니다. 행복 하세요...