seq최대값을 주려고 합니다. SELECT a~werks a~manag a~seq INTO CORRESPONDING FIELDS OF TABLE itab FROM z11048 AS a INNER JOIN z11041 AS b ON a~werks EQ b~werks AND a~manag EQ b~manag WHERE a~manag = itab-manag AND a~SEQ = MAX(a~SEQ). 위의 경우처럼 주면 MAX(a~SEQ)에서 에러가 생기는데 manag별 seq최대값을 주려면 어떻게 해야할지.. |
댓글 10
-
hongman
2007.11.24 00:02
-
풍뎅이
2007.11.24 01:11
"max(a"에서 에러가 생깁니다.
-
풍뎅이
2007.11.24 01:22
SELECT a~werks a~manag a~seq
INTO CORRESPONDING FIELDS OF TABLE itab
FROM z11048 AS a
INNER JOIN z11041 AS b ON a~werks EQ b~werks
AND a~manag EQ b~manag
WHERE a~manag = itab-manag
AND a~SEQ = ( SELECT MAX( seq )
FROM z11048
WHERE manag = itab-manag ).
라고 해도 max에서 오류가 생기네요.. 어떻게 해야할지..
-
윤군친구(bsp개발자)
2007.11.24 01:33
일단-- sql문만 봤을때 a 값을 가저오고 where 조건문에 B에 대한 조건이 없으므로-- 그냥 select 서브쿼리 날리시면될것같은데요--?
-
노름마치
2007.11.24 01:42
혹여,,, 이렇게 해 보심
SELECT a~werks
a~manag
a~seq
INTO CORRESPONDING FIELDS OF TABLE itab
FROM z11048 AS a
JOIN z11041 AS b
ON a~werks EQ b~werks
AND a~manag EQ b~manag
WHERE a~manag = itab-manag
AND a~seq = ( SELECT MAX( c~seq )
FROM z11048 AS c
WHERE c~manag = a~manag ). -
윤군친구(bsp개발자)
2007.11.24 01:43
일단 sql문에서 위에쓴글을 만족한다는 가정하에..
SELECT b~ebeln a~bukrs a~pincr INTO CORRESPONDING FIELDS OF TABLE itab
FROM ekko AS a INNER JOIN ekpo AS b
ON a~ebeln EQ b~ebeln
WHERE a~ebeln = ( SELECT MAX( ebeln ) FROM ekko ).
서브쿼리로 가저오는게 맞는것같아요.. (재가 아밥경력이 없어서-- )
( SELECT MAX( seq )
FROM z11048
WHERE manag = itab-manag ).
라고 해도 max에서 오류가 생기네요.. 어떻게 해야할지..
이부분에서의 에러는 itab에 data를 받는데.. itab-manag 값을 서브쿼리에 조건으로 넣어서 error 나신것으로 보입니다..
-
hongman
2007.11.24 01:56
아래대로 하셨을때 무슨 에러가 생기시나여?...
SELECT a~werks
a~manag
MAX( a~seq )
INTO CORRESPONDING FIELDS OF TABLE itab
FROM z11048 AS a
INNER JOIN z11041 AS b
ON a~werks EQ b~werks
AND a~manag EQ b~manag
WHERE a~manag = itab-manag
GROUP BY a~werks
a~manag. -
hongman
2007.11.24 01:57
그러고보니 seq는 z11041 이 테이블 필드가 아닌가여?
SELECT a~werks
a~manag
MAX( b~seq )
INTO CORRESPONDING FIELDS OF TABLE itab
FROM z11048 AS a
INNER JOIN z11041 AS b
ON a~werks EQ b~werks
AND a~manag EQ b~manag
WHERE a~manag = itab-manag
GROUP BY a~werks
a~manag. -
GG
2007.11.24 06:30
SELECT 문 2개 사용해서 FOR ALL ENTRIES IN gt_itab 사용하세요..
SELECT a~werks
a~manag
max( b~seq ) as seq
INTO CORRESPONDING FIELDS OF TABLE gt_itab
FROM z11048 AS a JOIN z11041 AS b
ON a~werks = b~werks
AND a~manag = b~manag
WHERE ~ => 어떤 조건인지 알아서 코딩하삼.
GROUP BY a~werks a~manag.
IF gt_itab[] IS NOT INITIAL.
SELECT werks
manag
seq
INTO CORRESPONDING FIELDS OF TABLE itab
FROM z11048
FOR ALL ENTRIES IN gt_itab
WHERE werks = gt_itab-werks
AND manag = gt_itab-manag
AND SEQ = gt_itab-seq.
ENDIF.
원하는 결과가 이건지 궁금하네요..
-
최창환
2007.11.28 04:56
감사합니다.
이렇게 바꾸시면 될듯한데요..
SELECT a~werks
a~manag
MAX( a~seq )
INTO CORRESPONDING FIELDS OF TABLE itab
FROM z11048 AS a
INNER JOIN z11041 AS b
ON a~werks EQ b~werks
AND a~manag EQ b~manag
WHERE a~manag = itab-manag
GROUP BY a~werks
a~manag.