Q & A

Query의 Tip을 좀......group by에서의 조건 checking

Date2003.03.14 / Hit : 13990
아래의 query에서 문제점은 '각 NO별로 조건 Checking'이 현재 되지 않고 있다는 것 입니다. 현재의 table의 내역을 6개로 copy해서, 그것을 group by하기 전에...... 각 no별로 조건을 주어 가져와야 하는데, 그게 잘 안보이고 있습니다. Tip을 부탁 드립니다. (oracle 버전은 8i 입니다.) NO 가 2 <== PRCH_RESP_AMT+INST_RESP_AMT+RVCSL_RESP_AMT > 0 3 <== CSAV_RESP_AMT+RVCSAV_RESP_AMT > 0 4 <== RVCSL_RESP_AMT+RVCSAV_RESP_AMT > 0 5 <== PRCH_RESP_AMT+INST_RESP_AMT+CSAV_RESP_AMT > 0 6 <== PRCH_RESP_AMT+INST_RESP_AMT+RVCSL_RESP_AMT+CSAV_RESP_AMT+RVCSAV_RESP_AMT > 0 1 <== 은 조건없이. 각기 조건을 만족하는 것에 대하여(no로 구분하여) 집합을 생성하여 group by해야 하는데.... 그것을 어찌해야 할지 현재 못 찾고 있습니다. ================================================================================== SELECT BSE_MT , PRMT_N , OBJ_GRP_N -- ********* , RSLT_RESP_BSE_ID , DECODE(NO, 1, COUNT(DISTINCT DECODE(PRCH_RESP_AMT,0,NULL,CLNT_N))) PRCH_RESP_CUST_CNT , DECODE(NO, 1, COUNT(DISTINCT DECODE(INST_RESP_AMT,0,NULL,CLNT_N))) INST_RESP_CUST_CNT , DECODE(NO, 1, COUNT(DISTINCT DECODE(CSAV_RESP_AMT,0,NULL,CLNT_N))) CSAV_RESP_CUST_CNT , DECODE(NO, 1, COUNT(DISTINCT DECODE(LN_RESP_AMT,0,NULL,CLNT_N))) LN_RESP_CUST_CNT , DECODE(NO, 1, COUNT(DISTINCT DECODE(RVCSL_RESP_AMT,0,NULL,CLNT_N))) RVCSL_RESP_CUST_CNT , DECODE(NO, 1, COUNT(DISTINCT DECODE(RVCSAV_RESP_AMT,0,NULL,CLNT_N))) RVCSAV_RESP_CUST_CNT , DECODE(NO, 2, COUNT(DISTINCT DECODE RESP_AMT+RVCSL_RESP_AMT,0,NULL,CLNT_N))) CSL_CLASS_RESP_CNT , DECODE(NO, 3, COUNT(DISTINCT DECODE(CSAV_RESP_AMT+RVCSAV_RESP_AMT,0,NULL,CLNT_N))) CSAV_CLASS_RESP_CNT , DECODE(NO, 4, COUNT(DISTINCT DECODE (RVCSL_RESP_AMT+RVCSAV_RESP_AMT,0,NULL,CLNT_N))) RVCSL_RVCSAV_RESP_CNT , DECODE(NO, 5, COUNT(DISTINCT DECODE (PRCH_RESP_AMT+INST_RESP_AMT+CSAV_RESP_AMT,0,NULL,CLNT_N))) CSL_CSAV_RESP_CNT , DECODE(NO, 6, COUNT(DISTINCT DECODE (PRCH_RESP_AMT+INST_RESP_AMT+CSAV_RESP_AMT+RVCSL_RESP_AMT+RVCSAV_RESP_AMT,0,NULL,CLNT_N))) CSL_CSAV_CLASS_RESP_CNT -- , DECODE(NO, 1, (COUNT(DISTINCT CLNT_N))) TOTAL_RESP_CNT , DECODE(NO, 1, SUM(DECODE(PRCH_RESP_AMT, NULL, 0, PRCH_RESP_AMT))) PRCH_RESP_AMT , DECODE(NO, 1, SUM(DECODE(INST_RESP_AMT, NULL, 0, INST_RESP_AMT))) INST_RESP_AMT , DECODE(NO, 1, SUM(DECODE(CSAV_RESP_AMT, NULL, 0, CSAV_RESP_AMT))) CSAV_RESP_AMT , DECODE(NO, 1, SUM(DECODE(LN_RESP_AMT, NULL, 0, LN_RESP_AMT))) LN_RESP_AMT , DECODE(NO, 1, SUM(DECODE(RVCSL_RESP_AMT, NULL, 0, RVCSL_RESP_AMT))) RVCSL_RESP_AMT , DECODE(NO, 1, SUM(DECODE(RVCSAV_RESP_AMT, NULL, 0, RVCSAV_RESP_AMT))) CSAV_RESP_AMT , DECODE(NO, 2, SUM(DECODE(PRCH_RESP_AMT, NULL, 0, PRCH_RESP_AMT))+SUM(DECODE (INST_RESP_AMT, NULL, 0, INST_RESP_AMT))+SUM(DECODE(RVCSL_RESP_AMT, NULL, 0, RVCSL_RESP_AMT))) CSL_CLASS_RESP_AMT , DECODE(NO, 3, SUM(DECODE(CSAV_RESP_AMT, NULL, 0, CSAV_RESP_AMT))+SUM(DECODE (RVCSAV_RESP_AMT, NULL, 0, RVCSAV_RESP_AMT))) CSAV_CLASS_RESP_AMT , DECODE(NO, 4, SUM(DECODE(RVCSL_RESP_AMT, NULL, 0, RVCSL_RESP_AMT))+SUM(DECODE (RVCSAV_RESP_AMT, NULL, 0, RVCSAV_RESP_AMT))) RVCSL_RVCSAV_RESP_AMT , DECODE(NO, 5, SUM(DECODE(PRCH_RESP_AMT, NULL, 0, PRCH_RESP_AMT))+SUM(DECODE (INST_RESP_AMT, NULL, 0, INST_RESP_AMT))+SUM(DECODE(CSAV_RESP_AMT, NULL, 0, CSAV_RESP_AMT))) CSL_CSAV_RESP_AMT , DECODE(NO, 6, SUM(DECODE(PRCH_RESP_AMT, NULL, 0, PRCH_RESP_AMT))+SUM(DECODE (INST_RESP_AMT, NULL, 0, INST_RESP_AMT))+SUM(DECODE(CSAV_RESP_AMT, NULL, 0, CSAV_RESP_AMT))+SUM(DECODE(RVCSL_RESP_AMT, NULL, 0, RVCSL_RESP_AMT))+SUM(DECODE (RVCSAV_RESP_AMT, NULL, 0, RVCSAV_RESP_AMT))) CSL_CSAV_CLASS_RESP_AMT -- , DECODE(NO, 1, SUM(DECODE(PRCH_RESP_AMT, NULL, 0, PRCH_RESP_AMT))+SUM(DECODE (INST_RESP_AMT, NULL, 0, INST_RESP_AMT))+SUM(DECODE(CSAV_RESP_AMT, NULL, 0, CSAV_RESP_AMT))+SUM(DECODE(LN_RESP_AMT, NUL
  • 대표전화
    1660-1675

  • 기술 문의
    02-6931-1734

  • 오렌지 문의
    070-8666-8175

  • 라이선스 문의
    02-6931-1728