메뉴 건너뛰기

SAP 한국 커뮤니티

Open SQL에서 SUM 사용시 유의사항.

나침반친구 2007.06.07 16:42 조회 수 : 9529 추천:24

 


Open SQL에서 SUM 구문을 사용해서 합을 가져오려 할때 유의할 사항이 있네요.


 


INTO TABLE 구문을 사용해서 데이타를 SELECT 해올 경우 SUM 하는 필드들에 대해서 AS를 사용하건 안하건


수량을 제대로 가져오지만,


INTO CORRESPONDING FIELDS OF TABLE 구문을 사용할 경우, SUM하는 필드들에 대해서 AS를 사용해주지


않으면 수량이 있어도 SELECT 해오지 못하고, 0으로 가져오네요.


 


아래의 SQL문에서 1,2의 경우는 수량을 제대로 가져오지만,


3의 경우에는 수량이 있어도 가져오지 못하네요.


 


OPEN SQL에서 SUM구문 사용시 INTO CORRESPONDING FIELDS OF TABLE 구문을 사용해서 데이타를


가져올 경우 SUM 하는 필드들에 AS 사용해주시는 거 잊지마시길... ^^


 


1).


SELECT   RACCT RYEAR SUM( HSLVT ) 


               SUM( HSL01 ) SUM( HSL02 )               


               SUM( HSL03 ) SUM( HSL04 )               


               SUM( HSL05 ) SUM( HSL06 )               


               SUM( HSL07 ) SUM( HSL08 )               


               SUM( HSL09 ) SUM( HSL10 ) 
               SUM( HSL11 ) SUM( HSL12 )
               SUM( HSL13 ) SUM( HSL14 )
               SUM( HSL15 ) SUM( HSL16 )


             FROM GLT0
             INTO TABLE GT_GLT
             WHERE RLDNR = '00'
             AND   RRCTY = '0'
             AND   RVERS = '001'
             AND   BUKRS = P_BUKRS
             AND   RYEAR = G_TYEAR
             AND   RACCT IN R_RACCT
             GROUP BY RACCT RYEAR.


 


2).


SELECT   RACCT RYEAR   SUM( HSLVT ) AS HSLVT
               SUM( HSL01 ) AS HSL01 SUM( HSL02 ) AS HSL02
               SUM( HSL03 ) AS HSL03 SUM( HSL04 ) AS HSL04
               SUM( HSL05 ) AS HSL05 SUM( HSL06 ) AS HSL06
               SUM( HSL07 ) AS HSL07 SUM( HSL08 ) AS HSL08
               SUM( HSL09 ) AS HSL09 SUM( HSL10 ) AS HSL10
               SUM( HSL11 ) AS HSL11 SUM( HSL12 ) AS HSL12
               SUM( HSL13 ) AS HSL13 SUM( HSL14 ) AS HSL14
               SUM( HSL15 ) AS HSL15 SUM( HSL16 ) AS HSL16
             FROM GLT0
             INTO CORRESPONDING FIELDS OF TABLE GT_GLT
             WHERE RLDNR = '00'
             AND   RRCTY = '0'
             AND   RVERS = '001'
             AND   BUKRS = P_BUKRS
             AND   RYEAR = G_TYEAR
             AND   RACCT IN R_RACCT
             GROUP BY RACCT RYEAR.


 


3).


SELECT   RACCT RYEAR SUM( HSLVT ) 


               SUM( HSL01 ) SUM( HSL02 )               


               SUM( HSL03 ) SUM( HSL04 )               


               SUM( HSL05 ) SUM( HSL06 )               


               SUM( HSL07 ) SUM( HSL08 )               


               SUM( HSL09 ) SUM( HSL10 ) 
               SUM( HSL11 ) SUM( HSL12 )
               SUM( HSL13 ) SUM( HSL14 )
               SUM( HSL15 ) SUM( HSL16 )


             FROM GLT0
             INTO CORRESPONDING FIELDS OF TABLE GT_GLT
             WHERE RLDNR = '00'
             AND   RRCTY = '0'
             AND   RVERS = '001'
             AND   BUKRS = P_BUKRS
             AND   RYEAR = G_TYEAR
             AND   RACCT IN R_RACCT
             GROUP BY RACCT RYEAR.