WHERE 조건 없이 전체 데이터를 가져올수 없을가요? 0 1 976

by 초코초코 [2016.09.12 11:38:27]


서브쿼리 안에 WHERE 조건을  달면 단일 행 데이터는 가져오지만  ,,

WHERE 구문 없이 전체 를 가져 오고 싶은데 ,,  

WHERE  구문을 제외 하면  하위 에 2개이상의 행 때문에 가져 올수가 없는데,

리스트 전체를 가져올 방법이 없을가요 ? 

SELECT KNUM
   , NVL(ETC1,0) + NVL(ETC2,0) + NVL(ETC3,0) AS ETOTAL 
   , NVL(SEL1,0) + NVL(SEL2,0) + NVL(SEL3,0) AS STOTAL
      
   ,(SELECT CASE WHEN ETCHAP > 10 THEN '10'  WHEN ETCHAP <= 10 THEN TO_CHAR(ETCHAP) END ETOTAL_C  
         FROM
               (SELECT NVL(ETC1_1,0) + NVL(ETC2_1,0) + NVL(ETC3_1,0) ETCHAP ,KNUM
                FROM  ETEST  -- WHERE KNUM = '000'  ( 이부분 WHERE 없이)
               ) A ,
         ETEST B
   WHERE A.KNUM = B.KNUM 
   )AS  ETOTAL_C


   ,(SELECT CASE WHEN A.SELHAP >= 5 AND A.SELHAP <=10 THEN TO_CHAR(A.SELHAP)
               WHEN A.SELHAP < 5 AND A.SELHAP >= 0 THEN TO_CHAR(A.SELHAP)    
               ELSE '10'
            END STOTAL_C
       FROM
              (SELECT NVL(SEL1_1,0) + NVL(SEL2_1,0) + NVL(SEL3_1,0) SELHAP ,KNUM
                 FROM  ETEST  --WHERE KNUM = '000'   ( 이부분 WHERE 없이)
               ) A ,
      ETEST B
     WHERE A.KNUM = B.KNUM 
    ) AS STOTAL_C

FROM  ETEST A

 

고수님들 부탁 드립니다.

 

by jkson [2016.09.12 12:17:01]

WM_CONCAT 이라든지 LISTAGG 같은 거 사용해보세요.

 

SELECT WM_CONCAT(CASE WHEN ETCHAP > 10 THEN '10'  WHEN ETCHAP <= 10 THEN TO_CHAR(ETCHAP) END) ETOTAL_C  ...

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입