안녕하세요... 항상 많은 도움을 받고만 있습니다.. ㅎㅎ ^^;;
제목을 이따구로 올리면 안된다는 걸 알고는 있지만,
어떻게 제목을 잡아야 할지 잘 모르겠어서 이따구로 올렸습니다.. 죄송... (_ _) 적당한 제목도 올려주심 적용하도록 하겠습니다...
오늘도 질문하나 올립니다..
Table A
Group_no | Seq | First_no | Last_no |
A | 1 | 10 | 20 |
A | 2 | 15 | 27 |
B | 1 | 10 | 40 |
B | 2 | 30 | 70 |
B | 3 | 70 | 100 |
위와같은 테이블 A가 있을때,(약 10000건 정도의 Row 존재)
결과값을 아래처럼
Group_no | Seq | First_no | Last_no | Gap |
A | 1 | 10 | 20 | 5 |
A | 2 | 15 | 27 | 0 |
B | 1 | 10 | 40 | 10 |
B | 2 | 30 | 70 | 0 |
B | 3 | 70 | 100 | 0 |
얻고자 합니다.
설명드리자면, 결과데이터의 Group_no부터 Last_no 컬럼은 원래 테이블 A의 컬럼값을 그대로 보여주고
Gap의 값은 Group_no별로 Grouping했을때
현재의 Seq보다 1이 큰 Row의 First_no와 현재Row의 Last_no 차이를 보여줍니다.(위 결과값에 같은 색으로 칠해진 부분..) Group_no별 Seq가 가장 큰 값이면 Gap의 값은 0이구요..
제약조건이라면... 테이블은 한번만 읽고 가능해야합니다.. From절에 딱 한번만 와야...^^;;;
고수님들의 많은 관심 부탁드립니다.. (__)