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
운영게시판
최근게시물
MS-SQL Q&A 6388 게시물 읽기
No. 6388
시작번호, 끝번호 등록 프로시저 작성
작성자
정인수(insoo320)
작성일
2012-06-28 23:23ⓒ
2012-06-28 23:27ⓜ
조회수
6,738

프로시저를 만들고 싶은데, 구체적은 사항은 아래와 같습니다.

<상위번호>

1번 -> 특정숫자가 없습니다.

<하위번호>

1번 -> '10' ( 이 숫자는 각 하위순번마다 이미 입력되어 있습니다.), 시작번호 : 1, 끝번호 : 10

2번 -> '5', 시작번호 : 11, 끝번호 : 15

3번 -> '3', 시작번호 : 16, 끝번호 : 18

....

<상위번호>

2번

<하위번호>

1번 -> '20', 시작번호 : 1, 끝번호 : 20

2번 -> '10', 시작번호 : 21, 끝번호 : 30

3번 -> '5', 시작번호 : 32, 끝번호 : 36

...

이런식입니다.

고수님들의 도움이 필요합니다.

도움을 주시면 감사하겠습니다..

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

 -- 상위번호는 결과를 도출해 내는데 크게 상관 없는 것 같고요

-- 하위번호라고 하는 것만을 두고 두 값을 내면 되는 것으로 보입니다.
WITH testTbl ( aNum, rng )
AS
(
SELECT 1, 10
UNION ALL SELECT 2, 5
UNION ALL SELECT 3, 3
)
SELECT a1.aNum, a1.rng
, CASE WHEN a2.aNum IS NULL THEN 1 ELSE a2.rng + 1 END AS startNum
, CASE WHEN a2.aNum IS NULL THEN a1.rng ELSE a1.rng + a2.rng END AS endNum
FROM testTbl AS a1
LEFT JOIN testTbl AS a2 ON a1.aNum = a2.aNum + 1
;
 
우욱님이 2012-06-29 09:24에 작성한 댓글입니다. Edit
[Top]
No.
제목
작성자
작성일
조회
6391인덱스 생성 [4]
초보
2012-07-03
7300
6390insert 후 idx 값? [1]
이영주
2012-07-03
7847
6389sql로 loop처럼 처리하기 가능한지요 [2]
서정탁
2012-07-02
7483
6388시작번호, 끝번호 등록 프로시저 작성 [1]
정인수
2012-06-28
6738
6387쿼리 변경... [2]
짱가
2012-06-21
7482
6386시퀀스 문자열 증가 (A->B) [1]
초보
2012-06-20
7382
6385쿼리 조언 부탁드립니다. [2]
김종열
2012-06-18
7158
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.022초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다