안녕하세요.
SAP 린이 입니다...
우선 저는 ekorg werks matnr 이렇게 세 필드가 모두 같은 경우가 각각 몇 건이 존재하는지 알고 싶습니다.
ex, ekorg werks matnr count
1000 1000 EDU_13ROH 2 <- 세 필드가 모두 같은 경우가 2건에 해당하므로 count에 각각 2가 나오게 하고싶음
1000 1000 EDU_13ROH 2
그러나 문제상황이.. 테이블 조인을 한 상황에서 세 필드를 group by로 하고 select에 count(*)를 하면
실제로 count에 값들이 안 들어가더라구요?ㅠㅠ (아래 코드 참고)
어떻게 해결해야 할까요... 고수님들 답변 부탁드립니다..
*-------------------------------------------------------------------
DATA: BEGIN OF gs_count,
ekorg TYPE eine-ekorg, "구매조직
werks TYPE eine-werks, "플랜트
matnr TYPE eina-matnr, "자재 번호
count TYPE i,
END OF gs_count.
DATA gt_count LIKE TABLE OF gs_count.
SELECT a~ekorg a~werks
b~matnr
count(*)
FROM eine AS a
INNER JOIN eina AS b
ON a~infnr = b~infnr
INTO CORRESPONDING FIELDS OF TABLE gt_count
WHERE a~esokz = 0
GROUP BY a~ekorg a~werks b~matnr.
안녕하세요.
다음 2가지 방식으로 해결하면 되겠네요
1. as count를 해줘야 동일한 컬럼명에 들어갑니다.
SELECT a~ekorg a~werks
b~matnr
COUNT(*) as count
FROM eine AS a
INNER JOIN eina AS b
ON a~infnr = b~infnr
INTO CORRESPONDING FIELDS OF TABLE gt_count
WHERE a~esokz = 0
GROUP BY a~ekorg a~werks b~matnr.
2. as count를 안 쓸려면, 테이블 컬럼이 3개 이기때문에 CORRESPONDING FIELDS OF 를 삭제하면됩니다.
SELECT a~ekorg a~werks
b~matnr
COUNT(*)
FROM eine AS a
INNER JOIN eina AS b
ON a~infnr = b~infnr
INTO TABLE gt_count
WHERE a~esokz = 0
GROUP BY a~ekorg a~werks b~matnr.