현재 open SQL 관련해서 공부하고 있는데요...
아래예제를 해보니 결과값이 안나오네요... 오류나 warnnig도 없는데..결과가 안나오니 이상하네요..
뭐가 잘못되었는지 좀 알려주셨으면 합니다.
DATA: name_tab TYPE TABLE OF scarr-carrname,
name LIKE LINE OF name_tab.
SELECT carrname
INTO TABLE name_tab
FROM scarr
WHERE EXISTS ( select *
FROM spfli
WHERE carrid = scarr~carrid AND
cityfrom = 'NEW YORK' ).
LOOP AT name_tab INTO name.
WRITE: / name.
ENDLOOP.
댓글 5
-
초봡
2007.11.29 19:39
SCARR나 SPFLI 테이블에 해당하는 엔트리가 있나요? -
order001
2007.11.29 19:47
네~ 있습니다..
-
지의
2007.11.29 20:03
각 테이블에 데이타가 조건 절에 대해서 맞는 데이타가 있는지 확인해보세요.
쿼리를 저렇게 만든 이유를 모르겠지만 이 쿼리는 inner join 를 하는 쿼리이고
실제로 퍼포먼스는 inner join 을 사용하는 것 보다 느립니다.
출력이 안되는 이유는 조건 절에 쿼리에서 가져오는 값과 현재 데이타를 찾을려는 테이블의 값이
맞는게 없어 보입니다.
-
초봡
2007.11.29 20:03
전 그냥 복사해서 붙여넣으니 안나오길래
DB들어가서 살펴보니 SCARR에 엔트리가 없어서 생성해주고 했더니 잘 나오는데;;;;
쿼리문을 바꿔 보시겠어요?
SCARR 랑 SPFLI를 조인해도 같은 결과가 나오는데..
SELECT A~CARRNAME
INTO TABLE NAME_TAB
FROM SCARR AS A INNER JOIN SPFLI AS B
ON A~MANDT = B~MANDT
AND A~CARRID = B~CARRID
WHERE B~CITYFROM = 'NEW YORK'. -
order001
2007.11.29 20:30
넵..답변 감사드립니다.^^