Database/Query
테이블 일련번호에서 빠진 번호 찾기
Reiphiel
2010. 5. 7. 19:14
반응형
SELECT 쿼리를 이용하다보면 일련번호(시퀀스)에서 빠진 번호를 찾아야 할 경우가 있다 이경우
다음과 같은 쿼리를 이용하면 유용하다
1. 빠진번호 전체 검색
SELECT [seq_field]+1
FROM [table_name]
WHERE ([seq_field]+1) NOT IN (SELECT [seq_field] FROM [table_name])
#일련번호 중 가장 큰수보다 1큰수도 같이 출력되므로 그값을 배제하는 조건을 추가하는 처리를 해야할 경우도 있다.
2. 빠진번호중 최소값 검색
SELECT min([seq_field]+1)
FROM [table_name]
WHERE ([seq_field]+1) NOT IN (SELECT [seq_field] FROM [table_name])
3. 빠진번호중 최대값 검색
SELECT max([seq_field]-1)
FROM [table_name]
WHERE ([seq_field]-1) NOT IN (SELECT [seq_field] FROM [table_name])
다음과 같은 쿼리를 이용하면 유용하다
1. 빠진번호 전체 검색
SELECT [seq_field]+1
FROM [table_name]
WHERE ([seq_field]+1) NOT IN (SELECT [seq_field] FROM [table_name])
#일련번호 중 가장 큰수보다 1큰수도 같이 출력되므로 그값을 배제하는 조건을 추가하는 처리를 해야할 경우도 있다.
2. 빠진번호중 최소값 검색
SELECT min([seq_field]+1)
FROM [table_name]
WHERE ([seq_field]+1) NOT IN (SELECT [seq_field] FROM [table_name])
3. 빠진번호중 최대값 검색
SELECT max([seq_field]-1)
FROM [table_name]
WHERE ([seq_field]-1) NOT IN (SELECT [seq_field] FROM [table_name])