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
운영게시판
최근게시물
MySQL Q&A 2457 게시물 읽기
No. 2457
Re: my sql 명령문에 대해서
작성자
손동일
작성일
2000-07-06 11:12
조회수
3,345

이 문제의 목적이 무엇인지는 파악할 수가 없지만 문제 그대로 해석해서 한번 풀어

 

보도록 하죠..

 

일단 쿼리만 가지고는 해결할 수 없을 것같고 프로그램을 가지고 풀 수 있을 것 같습

 

니다.

 

1. ID로 Orderby해서 Select하고(Cursor선언) Fetch를 합니다.

 

2. Fetch한 데이터 중 ID를 atoi해서 INT값으로 변환해서 버퍼에 보관합니다.

 

3. 다음 데이터를 Fetch해서 ID를 atoi해서 전 데이터와의 차이를 구해서 그 차이수가 1이 아니면 그 차이수 만큼 임의로 만들어서 넣습니다.

 

위의 것을 로직으로 재구성하는 것은 매우 간단한데

int dif, cur_id, prev_id=-1;

cursor 선언(orderby 는 ascending으로 합니다)

while(FLAG)

{

fetch data;

if no data then while문 break;

cur_id=atoi(id);

if prev_id == -1 then 현재 데이터 처리 (fetch첫번째의 경우)

else

{

diff=cur_id - prev_id -1;

if(diff != 0)

then

{

for(i=0;i<diff;i++)

현재 데이터 처리 및 없는 데이터 생성 루틴 삽입

}

else

{

현재 데이터 처리

}

}

prev_id=cur_id;

}

 

위의 로직으로 처리가능할 겁니다.(맞았나?)

 

도움이 되셨는지 모르겠네요..

 

그럼이만...

 

> 어떤 테이블에 id 라는 이름을 가지는 열이 문자형식으로 00000001 부터 0005100까지 id 가 입력되

> 어 있는데, 1부터 5100까지 차례대로 하나씩 들어간 자료가 아니라 중간에 몇 개가 빠져서 입력되어 있

> 거든요.

> 예를 들어, id번위가 1부터 10까지 인데 id 가 1,2,3,4,7,8,9,10 (id 6과 7은 null값이 아니라 이

> 에 대한 자료가 입력이 안되서 레코드가 없는 상태) 에 해당하는 자료만 입력되어 있으면, 이처럼 중간

> 에 빠진 id를 mysql 상에서 sql문으로 어떻게 촐력할 수 있는지 모르겠네요. 그러니까 여기선 중간에

> 빠진 id가 6과 7이므로 빠진 id, 6 과 7를 출력해 내야 하거든요. 제 실력으론 역부족이군요. 어떻게

> 명령문을 써야 할지!!! 명령문이나 해답을 가르쳐 주시면 감사하겠습니다! 도움을 부탁합니다.

[Top]
No.
제목
작성자
작성일
조회
2462초보의 멍청한 질문
초보
2000-07-06
2224
2464┕>Re: 초보의 멍청한 질문
이강훈
2000-07-06 15:12:57
2370
2461ERROR 1306: Table 'xxx' is read only
조태용
2000-07-06
2513
2463┕>Re: ERROR 1306: Table 'xxx' is read only
이강훈
2000-07-06 15:09:37
2488
2472 ┕>Re: Re: ERROR 1306: Table 'xxx' is read only..
조태용
2000-07-06 23:54:47
2664
2456mysql -h 210.xxx.xxx.xxx -u admin -p -&gt; Unknown MySQL Server Host '210.xxx.xxx.xxx
김호덕
2000-07-06
2780
2458┕>Re: mysql -h 210.xxx.xxx.xxx -u admin -p -&gt; Unknown MySQL Server Host '210.xxx.xxx.xxx
손동일
2000-07-06 11:18:52
3064
2454my sql 명령문에 대해서
왕초보
2000-07-05
2909
2457┕>Re: my sql 명령문에 대해서
손동일
2000-07-06 11:12:13
3345
2460 ┕>Re: Re: my sql 명령문에 대해서
소명
2000-07-06 13:54:12
3294
2466  ┕>Re: Re: Re: my sql 명령문에 대해서
손동일
2000-07-06 16:17:18
2780
2453# [질문]mysql에서 oracle로 마이그레이션을 어떻게??
이장호
2000-07-05
3312
2455┕>Re: # [질문]mysql에서 oracle로 마이그레이션을 어떻게??
정재익
2000-07-05 23:54:57
3549
2446mysql과 C 언어와의 연동
송상희
2000-07-05
3286
2448┕>Re: mysql과 C 언어와의 연동
정재익
2000-07-05 15:33:17
3176
2449┕>Re: mysql과 C 언어와의 연동
손동일
2000-07-05 15:41:27
3161
2441# 설치된 mysql자체를 다른 호스트로 옮길수가 있나여?
박지혜
2000-07-05
3212
2442┕>Re: # 설치된 mysql자체를 다른 호스트로 옮길수가 있나여?
정재익
2000-07-05 15:02:42
3357
2451 ┕># Re: Re: # 설치된 mysql자체를 다른 호스트로 옮길수가 있나여?
박지혜
2000-07-05 16:37:56
3209
2459  ┕># Re: # Re: Re: # 설치된 mysql자체를 다른 호스트로 옮길수가 있나여?
박지혜
2000-07-06 11:58:42
3087
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.020초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다