기간에 가격정보가 잘못된 데이터 산출 쿼리 질문드려요 0 2 888

by 신동규 [SQL Query] [2012.10.10 17:24:52]



STORE OBJECT SDATE EDATE WON
AA APPLE 20120101 20120731 5000
AA APPLE 20120120 20120130 4500
AA APPLE 20120101 20120801 4000
AA APPLE 20120201 20120731 3500
AA APPLE 20120901 20121231 3000
AA BANANA 20120101 20120731 5000
AA BANANA 20120801 20120831 4000
BB APPLE 20120101 20120731 5000
BB APPLE 20120120 20120130 4500
BB APPLE 20120901 20121231 3000
BB BANANA 20120101 20120731 5000
BB BANANA 20120801 20120831 4000
CC APPLE 20120101 20120731 5000
CC APPLE 20120101 20120801 4000
CC APPLE 20120901 20121231 3000
CC BANANA 20120101 20120731 5000
CC BANANA 20120801 20120831 4000
DD APPLE 20120101 20120731 5000
DD APPLE 20120201 20120731 3500
DD APPLE 20120901 20121231 3000
DD BANANA 20120101 20120731 5000
DD BANANA 20120801 20120831 4000
EE APPLE 20120101 20120731 5000
EE APPLE 20120901 20121231 3000
EE BANANA 20120101 20120731 5000
EE BANANA 20120801 20120831 4000


테이블에 담아져 있는 내용을 예로 작성해 보았습니다.

BB매장의 데이터로 설명드리면...

BB매장에서 APPLE를 2012-01-01 부터 2012-07-31 까지 5000원에 판매한다는 가격정책이 있지만...
BB매장에서 APPLE를 2012-01-20 부터 2012-01-30 까지 4500원에 판매한다는 가격정책 또한 있습니다.

정확한 데이터는 2012-01-01 부터 2012-01-20 까지 5000원에 판매하고
2012-01-20 부터 2012-01-30 까지 4500원에 판매하고
 2012-01-31 부터 2012-07-31 까지 5000원에 판매해야 합니다.

잘못된 데이터를 찾아내야 하는데 쿼리를 못짜서 이렇게 질문드립니다.

제가 원하는 데이터는 

AA,BB,CC,DD 매장의 APPLE가격이 잘못되어 있다는 걸 찾고 싶습니다.

매장수도 많고 각 매장마다 파는 물품(OBJECT)또한 많이 있습니다.

제가 쿼리를 작성해 보았는데요...

맞는것도 같고 아닌것도 같고 확신이 없어서...

쿼리 올렸는데... 아 잘 못된거 같아 창피하고 ㅋㅋㅋ

쿼리를 지웁니다 ㅠㅠ


막막한 초보에게....

고수님들 도움 부탁드립니다.



 
by 마농 [2012.10.10 18:25:28]
SELECT DISTINCT a.*
  FROM tablename a
     , tablename b
 WHERE a.store  = b.store
   AND a.object = b.object
   AND a.sdate <= b.edate
   AND a.edate >= b.sdate
   AND a.ROWID != b.ROWID
;

by 신동규 [2012.10.11 11:38:33]

정말 능력 좋으신거 같아요
매번 감사드리구요..

이렇게 간단하게 해결해주실줄이야... ^^;;;

다시한번 감사드리구요
복 많이 받으실거예요 ^^
댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입