Database/Query2010. 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])
Posted by Reiphiel