Q&A

  • 순위표시에 대하여...
전표화일과 거래처화일이 있습니다...
일정기간동안 거래처별 판매순위를 나타내고 싶어요...
종전에는 일단 선택된 거래처별로 판매금액을 집계해서 금액을 정렬해
다시 테이블을 오픈한다음 순위와 함께 한 레코드씩 저장해서 사용했었습니다..
이 방법 말고 쿼리로 한방에 연결되는 방법이 없을까요...
물론 query내 계산 필드를 두어 Query1.recno를 사용하면 grid에 자동
번호가 표시된다는 것은 알고 있습니다...
문제는 순위별로도 검색을 해야 한다는 것이거던요...
예를 들어 거래처별로 일단 판매순위를 내고 그 안에서 다시 몇위부터 몇위까지 다시 검색해야 하걸랑여...
그래서 아예 순위가 고정되어 표시되었으면 싶은데요...
여러방법을 모색해 봤는데 일단 임시 화일을 생성하고 그안에 insert명령으로
처리할려고 했더니 역시나 순위가 걸리더군여...  아래와 같이...
insert 임시화일
필드1, 필드2, 필드3
select a.거래처, sum(a.금액), ??? from 전표 a. 거래처 b
where a.거래처 = b.코드
and  a.일자 ..............
group by a.거래처
order by sum(a.금액) desc

???을 어떻게 처리할까요??
또는 이렇게 순위 매기는 방법이 뭐 없나여??

고수님들에 많은 조언을...^^
1  COMMENTS
  • Profile
    김수현 2003.10.01 21:02
    이런경우에는 오라클 함수를 쓸수 있습니다.
    rank() 또는 dense_rank()를 쓰면 되죠.

    예를들면,
    select a.거래처, sum(a.금액), rank() over (order by sum(a.금액) desc) from 전표 a, 거래처 b
    where a.거래처=b.코드
    group by a.거래처
    order by sum(a.금액);