ori_t
: 비교군 테이블이고요 즉 쪼갤 테이블입니다.
temp_t
: 비교군을 쪼개어 담을 테이블이고요
target_t
: select해서 내용을 담을 테이블입니다.
ori_t 필드 1 의 내용
---------------------
20070101
20070202
20070303
20080101
20080202
20080303
20090101
20090202
20090303
---------------------
9개의 레코드가 있을때 물론 sort되었습니다.
n = ori_t-필드1(제일 큰값) - ori_t-필드1(제일작은값)+0(4). " 2009 - 2007 = 2
n = n + 1.
do n times.
clear : temp_t, temp_t[].
*연도별로 ori_t의 내용을 temp_t에 나누어서 넣고 싶습니다. (즉 3번 나누어서 순차적으로 들어가겠죠)
start_date = 나눠진 것 중에서 가장 빠른 날짜
end_data = 나눠진 것 중에서 가장 늦은 날짜
year = start_date+0(4).
select * appending table target_t
from anytable
where 필드1 beteewn start_date and end_date
and 연도 = year.
enddo.
이것을 어떻게 쪼개죠?
문법은 급해서 정확히 적지 않았습니다.
댓글 3
-
andy
2009.06.04 23:11
제 이해력이 떨어져서 그런지.. 이해가.. ㅡ,.ㅡ -
아밥고지를 찾아서
2009.06.05 00:35
ori_t 테이블을 연도별로 나누어서 연도수 만큼 do 돌려서요 ori_t 에서 temp_t로 연도별로 분류해서 넣어 처리 하고 싶다는것입니다.
제가 설명을 잘 못해서 그렇습니다. 죄송합니다.
-
테라스
2009.06.05 03:05
CLEAR YEAR, YEAR2.
LOOP AT ORI_T.
IF YEAR IS INITIAL.
YEAR = ORI_T-필드1+0(4).
START_DATE = ORI_T-필드1.
ENDIF.
YEAR2 = ORI_T-필드1+0(4).
IF YEAR = YEAR2.
TEMP_DATE = ORI_T-필드1.
ELSE.
END_DATE = TEMP_DATE.
SELECT * APPENDING TABLE TARGET_T
FROM ANYTABL
WHERE 필드1 BETWEEN START_DATE AND END_DATE
AND 연도 = YEAR.
YEAR = YEAR2.
START_DATE = ORI_T-필드1.
ENDIF.
ENDLOOP.
대충 이런식으로 하면 되지않을까요?