database.sarang.net
UserID
Passwd
Database
DBMS
MySQL
PostgreSQL
Firebird
Oracle
Informix
ㆍSybase
MS-SQL
DB2
Cache
CUBRID
LDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
Sybase Q&A 1940 게시물 읽기
No. 1940
쿼리로 가능한지 알고 싶습니다.
작성자
왕왕초보
작성일
2007-06-08 18:19ⓒ
2007-06-11 11:30ⓜ
조회수
5,651

처리일시 수납금액 수납전카드금액 전자카드번호
20060526132254 760 3840 12345 
20060603163535 670 3080 12345 
20060603181945 760 2410 12345 
20060609151006 860 1650 12345 
20060609151743 760 790 12345 
20060609164523 30 30 12345 
20060609231228 0 0 12345 
20060609232508 0 0 12345 
20060609233140 0 0 12345 
20060614184259 640 103000 12345 
20060614194244 720 102360 12345 
20060614225653 860 101640 12345 
20060614232434 760 100780 12345 


위에 꺼는 카드번호를 선택하고 처리일시로 order by를 준 데이터 입니다.


실제로는 카드 번호가 하나가 아니라 다수의 번호가 있습니다.


수납전카드금액에서 수납금액을 뺀게 다음줄에 수납전 금액이 됩니다.


카드 금액은 일정수치(5만,10만,20만 등)로 충전을 해 줄 수 있습니다.


위에 열거한 조건에서 제가 구해야 되는 결과는 위와 같이 모든 데이터가 들어가 있지 않고


수납전카드금액에서 수납금액을 뺀게 누락된 경우가 있다고 합니다.


1650에서 860을 뺀 수납전 카드 금액 790이 다음 데이터에 있는게 아니라


바로 30이 되어버리는 그러니까 한 줄의 데이터가 누락 된거죠


누락된 데이터가 있는 카드 번호를 구하고 싶습니다.


누락된 카드번호를 구하는게 쿼리만으로 가능할까요?

이 글에 대한 댓글이 총 3건 있습니다.

카드번호/처리일시가 pk라 가정하면

select  * from test a, test b
where a.카드번호 = b.카드번호
and b.처리일시 = ( select max(처리일시) from test c
 where c.카드번호 = a.카드번호 and c.처리일시 < a.처리일시)
and (b.수납전카드금액 - b수납금액) <> a.수납전카드금액

맞는지 모르겠군요
영빈~(backfish)님이 2007-06-08 22:03에 작성한 댓글입니다.
이 댓글은 2007-06-08 22:06에 마지막으로 수정되었습니다.

답변 감사합니다.

처리일시 같은 경우는 pk로 잡혀 있구요 카드번호는 pk로 잡혀 있지는 않지만 

데이터를 구분할 수 있는 값이 처리일시와 카드번호 입니다.


위에 영빈님이 얘기하신 쿼리로 돌려 봤는데

데이터 건수가 1억7천만건 정도라서 그런지 속도가 안나오네요.

쿼리만으로 결고를 받는 시간이 향상 될 수 있을까요?

왕왕초보님이 2007-06-11 10:01에 작성한 댓글입니다. Edit

카드번호, 처리일시 로 복합 index가 있어야 합니다.

real table에 index를 만들수 없다면

새로운 table create하고 bcp로 upload한 후 index를 반드시 생성해야 될 듯.

영빈~(backfish)님이 2007-06-11 12:00에 작성한 댓글입니다.
[Top]
No.
제목
작성자
작성일
조회
1943서브쿼리 안에서의 top이 가능한가요? [4]
쿼리질문입니다
2007-06-11
7557
1942쿼리 질문?? [1]
방문자
2007-06-11
6393
1941[질문] null 값의 비교... [1]
김재호
2007-06-08
5895
1940쿼리로 가능한지 알고 싶습니다. [3]
왕왕초보
2007-06-08
5651
1939DB사이즈 늘려도 문제 없나요? [4]
초보
2007-06-07
6577
1938systabstats 알려주세요 [4]
Jack
2007-06-04
6060
1937alter table 추가시 위치 제어 [1]
승우
2007-06-04
5221
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.024초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다