수고많으십니다.
업체들중 합격한 건수가 10건 이상이면 우수업체 선정 이런식으로 해야할때
합격건으로 데이터 수집한뒤에 그 건중 동일한 업체가 열 건이상인것만 가져와야합니다.
어떻게 로직을 짜는게 좋은가요.
sql문에서 처리가 가능한지? 아니면 인터널테이블에 넣은값 루프 돌려서 카운트해서 추려야하는지
조언 부탁드립니다.
댓글 5
-
버미!
2010.05.13 03:09
-
crazybarthez
2010.05.13 03:11
DATA : GS_A TYPE DBTAB,
GT_A TYPE TABLE OF DBTAB.
SELECT *
INTO CORRESPONDING FIELDS OF TABLE GT_A
FROM DBTAB
WHERE 합격건수 >= 10.
LOOP AT GT_A INTO GS_A.
GS_A-우수업체 = 'X'.
MODIFY GT_A FROM GS_A.
ENDLOOP.
**************************************
단순히 COUNT만 하는거라면 이게 맞을지도 모르겠습니다..
DATA A TYPE I.
SELECT COUNT( * )
INTO A
FROM DBTAB
WHERE 합격건수 >= 10.
-
MadMax
2010.05.13 18:35
select 업체 count(합격)
from table
into (업체,합격수)
where ..
group by 업체 having 합격수 > 10.
참고하세요.
-
덩콘
2010.05.14 00:33
코딩은 madmax님의 방법이 제일 간단하겠네요 -
짭군
2010.05.17 18:27
조인 한 구문이라 sql 문에서 카운트하기가 잘 안되서
카운팅은 그냥 루프돌아서 체크했습니다.
답변들 감사합니다.
그야..구현 방법이 여러가지가 있겠는 데요..단순히 질문 내용만으로 한다면
1. 업체별로 Select~Group by 해서 카운트 구한 다음 카운트가 10이상이면 우수업체
2. 데이타 조회 후 Collect 문 이용해서 합계를 구한다음 합계가 10이상이면 우수업체
등등