듀라입니다.
복잡하고 화려한 스킬로 탄탄한 프로그래밍을 할려고 모두들 하겠지만
가끔은 필요없는 부분에 열정을 쏟아부는경우가 발생하지 않나 생각이 듭니다.
특정 레코드를 기준으로 바로 위 , 바로 아래 레코드를 뿌려줘야 하는 일이 발생하였습니다.
가령 인덱스 값이 아래와 갔다고 할경우 말이죠
---------------------------------------------------------------------------
no
---------------------------------------------------------------------------
1
2
4
8
12
34
36
37
---------------------------------------------------------------------------
커서도 생각해보고 메모리에 올렸다가 배열로도 잡아보고 이런 저런 방법을 찾아 나가고 있었습니다.
인덱스가 이빨 빠지지 않고 순차적이라면 아무런 걱정할 필요가 없습니다만
저렇게 듬성 듬성 일경우 바로 위의행이나 아래의 행을 뽑아 낼려고하니 갑자기 한줄 두줄넘 가게 되던군요
동작은 하겠지만....이게 아닌데... 싶기도하고
다시 한번 곰곰히 생각을 해보았습니다.
declare @mynum int
set @mynum = 8 --원하는번호
select top 1 num as prevnum from Table where num < @mynum order by num desc --이전번호
select top 1 num as nextnum from Table where num > @mynum order by num asc --이후번호
물론 로직에 따라서 커서도 사용해야하고 복잡한 로직이 발생할수도 있습니다만
간단하죠 복잡하지도 어렵지도 않습니다. 결과는 같습니다.
'Interesting > D-Style' 카테고리의 다른 글
DNA - duraboys. net (0) | 2007.07.16 |
---|---|
Microsoft MVP (0) | 2007.07.16 |
검색엔진등록 (3) | 2007.07.04 |
엄쥐는 연습중 (1) | 2007.06.29 |
친구 결혼식땜에 못간 애쉬 콘설 후기들 ㅠ.ㅠ (0) | 2007.06.11 |