안녕하세요. 아밥 배운지 얼마안된 초밥퍼입니다...;;
엑셀파일을 올려서 인터널 테이브에 데이터를 저장했습니다.
이 데이터파일을 가지고 테이블에 있는 필요한 데이터를 sql로 레포트 하는 프로그램 입니다.
인터널테이블에 아래와 같은 숫자, 날짜, 날짜 형식으로 저장 되어있습니다.
it-num it-startdate it-enddate
"1000, 04.05.13, 04.06.14"
"2000, 04.05.13, 04.06.14"
"3000, 04.05.13, 04.06.14"
위의 인터널 테이블 사용하여 open sql문을 이용하여 원하는 데이터만 저장하는것 입니다.
제가 원하는 것은 where문으로 1000만 조건에 맞는게 아니라 i1000, t1000등 앞에 i, t도 포함하는것도 데이터를 출력을
하고 싶습니다. where it-num = cal-num or 여긴까진 생각나는데 i, t는 어떻게 넣을지 도저히 모르겠네요.
처음 엑셀 올릴때 i1000, t1000을 포함하는것도 올려도 되겠지만 혹시나 다른방법이 있나 싶어서 글을 남깁니다.
댓글 4
-
버미!
2011.02.10 09:47
-
동감~
2011.02.10 19:13
엑셀데이타 구성시 it-num 필드값을 %1000 %2000 로 주어 인터널테이블에 올리고
SQL 구문에서
SELECT
FROM
WHERE it-num LIKE cal-num 로 해도 되지 않을까요?
-
zabap
2011.02.10 21:01
range 선언해서 opiton 을 'CP' 로 주고 low값에 '*1000' 을 하면 될거 같은데요..
-
깐돌
2011.02.10 23:44
버미님 감사합니다. 덕분에 해결했네요.ㅎ Concatenate로 변수 집어넣으니 잘 되네요.ㅎ
제 짧은 생각으로는
1. Num에 대한 Range 변수를 선언한다.
2. 엑셀 파일을 올린 후 저장되는 itab을 가지고 Loop을 돌린다
3. Loop 안에서 i 값과 it-num 값을 Concatenate 한 후 1번에서 선언한 Range 변수에 저장한다.(it-num 타입이 ????)
4. i값과 Conxxx 한후 그 밑에 다시 t 값과 it-num 값을 Conxxx 한후 1번에서 선언한 Range 변수에 저장한다.
5. wherer 절에 In 1번에서 선언한 Range 변수로 한다.
이런 방법이 있겠네요...