-- ######################################################### 1001_´çÀϸÅÃâ¿äû ######################################################### START -- Q. µ¥ÀÌÅͼ ÀüÇ¥º°, ǰ¸ñº° 2°³ »ý¼ºÇÏ´Â°Ô ¸Â³ª¿ä? (¸ÂÀ» ½Ã ÀüÇ¥µ¥ÀÌÅͼ¿¡ ¸ÅÃâÀüÇ¥¹øÈ£ ³» À妽º È®ÀÎ) -- 1. ¸ÅÃâ (ÀüÇ¥º°) SELECT TO_CHAR(A.SAL_DT, 'YYYYMMDD') AS SAL_DT -- ¸ÅÃâ¹ß»ý³¯Â¥ , A.SAL_NO -- ¸ÅÃâÀüÇ¥¹øÈ£ -- ¸ÅÃâÀüÇ¥¹øÈ£ ³» À妽º , A.CUST_CD -- °Å·¡Ã³ÄÚµå , B.CUST_NM -- °Å·¡Ã³¸í , A.SAL_CHRG_CD -- ´ã´ç»ç¿øÄÚµå , SUM( A.SUPP_AMT + A.VAT_AMT + A.GRNT_AMT ) AS TOT_AMT -- ¸ÅÃâÇÕ°è , A.SAL_TYP -- ¸ÅÃâŸÀÔ FROM ( SELECT A.SAL_DT , A.SAL_NO , A.SAL_SEQNO , A.CUST_CD , A.SAL_CHRG_CD , 0 AS TOT_AMT , A.SAL_TYP , 'P' AS ITM_TYP , A.ITM_CD , A.BOX_QTY , A.BOTL_QTY , A.SUPP_AMT , A.VAT_AMT , A.GRNT_AMT FROM CUST_A3910.DA251V0 A WHERE A.SAL_DT = '20181101' UNION ALL SELECT A.SAL_DT , A.SAL_NO , A.SAL_LEND_SEQ_NO AS SAL_SEQNO , A.CUST_CD , A.SAL_CHRG_CD , 0 AS TOT_AMT , A.SAL_TYP , 'Y' AS ITM_TYP , A.LEND_ITM_CD AS ITM_CD , A.VES_QTY AS BOX_QTY , A.EMPTY_BOT_QTY AS BOTL_QTY , 0 AS SUPP_AMT , 0 AS VAT_AMT , A.GRNT_AMT FROM CUST_A3910.DA476V0 A WHERE A.SAL_DT = '20181101' AND A.SAL_SEQNO IS NULL ) A JOIN CUST_A3910.DA150T0 B ON A.CUST_CD = B.CUST_CD GROUP BY A.SAL_DT, A.SAL_NO, A.CUST_CD, B.CUST_NM, A.SAL_CHRG_CD, A.SAL_TYP ORDER BY SAL_DT, SAL_NO, CUST_CD ; -- 2. ¸ÅÃâ (ǰ¸ñº°) SELECT TO_CHAR(A.SAL_DT, 'YYYYMMDD') AS SAL_DT -- ¸ÅÃâ¹ß»ý³¯Â¥ , A.SAL_NO -- ¸ÅÃâÀüÇ¥¹øÈ£ , A.SAL_SEQNO -- ¸ÅÃâÀüÇ¥¹øÈ£ ³» À妽º , A.CUST_CD -- °Å·¡Ã³ÄÚµå , B.CUST_NM -- °Å·¡Ã³¸í , A.SAL_CHRG_CD -- ´ã´ç»ç¿ø¸í , SUM( A.SUPP_AMT + A.VAT_AMT + A.GRNT_AMT ) OVER( PARTITION BY A.SAL_DT, A.SAL_NO, A.CUST_CD ) AS TOT_AMT -- ¸ÅÃâÇÕ°è , A.SAL_TYP -- ¸ÅÃâŸÀÔ , A.ITM_TYP -- ǰ¸ñ/¿ë°ø ±¸ºÐ , A.ITM_CD -- ǰ¸ñÄÚµå , A.BOX_QTY -- ¹Ú½º¼ö·® , A.BOTL_QTY -- °³¹ß¼ö·® , A.SUPP_AMT -- °ø±Þ°¡ , A.VAT_AMT -- ºÎ°¡¼¼ , A.GRNT_AMT -- ¿ë°øº¸Áõ FROM ( SELECT A.SAL_DT , A.SAL_NO , A.SAL_SEQNO , A.CUST_CD , A.SAL_CHRG_CD , 0 AS TOT_AMT , A.SAL_TYP , 'P' AS ITM_TYP , A.ITM_CD , A.BOX_QTY , A.BOTL_QTY , A.SUPP_AMT , A.VAT_AMT , A.GRNT_AMT FROM CUST_A3910.DA251V0 A WHERE A.SAL_DT = '20181101' UNION ALL SELECT A.SAL_DT , A.SAL_NO , A.SAL_LEND_SEQ_NO AS SAL_SEQNO , A.CUST_CD , A.SAL_CHRG_CD , 0 AS TOT_AMT , A.SAL_TYP , 'Y' AS ITM_TYP , A.LEND_ITM_CD AS ITM_CD , A.VES_QTY AS BOX_QTY , A.EMPTY_BOT_QTY AS BOTL_QTY , 0 AS SUPP_AMT , 0 AS VAT_AMT , A.GRNT_AMT FROM CUST_A3910.DA476V0 A WHERE A.SAL_DT = '20181101' AND A.SAL_SEQNO IS NULL ) A JOIN CUST_A3910.DA150T0 B ON A.CUST_CD = B.CUST_CD ORDER BY SAL_DT, SAL_NO, CUST_CD, SAL_SEQNO ; -- ######################################################### 1001_´çÀϸÅÃâ¿äû ######################################################### END -- ######################################################### 1002_°Å·¡Ã³¼ö±Ýµ¥ÀÌÅÍ ######################################################### START -- Q. ÇØ´ç¼ö±Ý³¯Â¥ = ÀԱݳ¯Â¥? ¶È°°Àº µ¥ÀÌÅÍ 2¹ø Á¶È¸µË´Ï´Ù. SELECT A.SLIP_NO -- ÇØ´ç¼ö±Ý°Å·¡ÀüÇ¥¹øÈ£ , A.ACCT_FG -- ¼ö±ÝŸÀÔ , TO_CHAR(A.SLIP_DT,'YYYYMMDD') AS SLIP_DT -- ÇØ´ç¼ö±Ý³¯Â¥ , A.CUST_CD -- °Å·¡Ã³ÄÚµå , A.SAL_CHRG_CD -- ´ã´ç»ç¿øÄÚµå , TO_CHAR(A.SLIP_DT,'YYYYMMDD') AS SLIP_DT_2 -- ÀԱݳ¯Â¥ , SUM(A.AMT) AS AMT -- ÀÔ±ÝÇÕ°è FROM CUST_A3910.DA311T0 A WHERE A.SLIP_DT = '20181101' GROUP BY A.SLIP_NO, A.ACCT_FG, A.SLIP_DT, A.CUST_CD, A.SAL_CHRG_CD ORDER BY SLIP_DT, SLIP_NO, CUST_CD E -- ######################################################### 1002_°Å·¡Ã³¼ö±Ýµ¥ÀÌÅÍ ######################################################### END -- ######################################################### 1003_°Å·¡Ã³ÃÖÃÊ´ë¿©±Ý ######################################################### START -- Q. »óȯ¿¹Á¤ÀÏ : °¡Àå ¸¶Áö¸· ȸ¼ö¿¹Á¤ÀÏÀÚÀÇ ÀÏ(DD) Çü½Ä? -- Q. Á¶È¸ÀÏÀÚ ±âÁØ = ´ë¿©ÀÏÀÚ ±âÁØ? SELECT A.LEND_NO -- ´ë¿©¹øÈ£ , TO_CHAR(A.LEND_DT,'YYYYMMDD') AS LEND_DT -- ´ë¿©³¯Â¥ , A.CUST_CD -- °Å·¡Ã³ÄÚµå , A.SAL_CHRG_CD -- ´ã´ç»ç¿øÄÚµå , TO_CHAR(MIN(C.MIN_LEND_DT),'YYYYMMDD') AS MIN_LEND_DT -- ´ë¿©½ÃÀÛÀÏ , TO_CHAR(MAX(C.MAX_LEND_DT),'YYYYMMDD') AS MAX_LEND_DT -- ÃÖÁ¾´ë¿©ÀÏ , A.LEND_AMT -- Àüü´ë¿©±Ý , A.INSPAY_MMCNT -- »óȯ°³¿ù¼ö , TO_CHAR(MAX(B.RETRV_PREARR_DD),'DD') AS RETRV_PREARR_DD -- »óȯ¿¹Á¤ÀÏ FROM CUST_A3910.DA901T0 A LEFT JOIN ( SELECT NODE_CODE, CUST_CD, LEND_NO, MAX(RETRV_PREARR_DT) AS RETRV_PREARR_DD FROM CUST_A3910.DA901T1 GROUP BY NODE_CODE, CUST_CD, LEND_NO ) B ON A.NODE_CODE = B.NODE_CODE AND A.CUST_CD = B.CUST_CD AND A.LEND_NO = B.LEND_NO LEFT JOIN ( SELECT CUST_CD, MIN(LEND_DT) AS MIN_LEND_DT, MAX(LEND_DT) AS MAX_LEND_DT FROM CUST_A3910.DA901T0 GROUP BY CUST_CD ) C ON A.CUST_CD = C.CUST_CD WHERE A.LEND_DT = '20170928' GROUP BY A.LEND_NO, A.LEND_DT, A.CUST_CD, A.SAL_CHRG_CD, A.LEND_AMT, A.INSPAY_MMCNT ; -- ######################################################### 1003_°Å·¡Ã³ÃÖÃÊ´ë¿©±Ý ######################################################### END -- ######################################################### 1004_´ë¿©±Ýȸ¼öµ¥ÀÌÅÍ ######################################################### START -- Q. ¸¶Áö¸· À妽º°¡ ¹ºÁö Àß ¸ð¸£°Ú½À´Ï´Ù. -- A. ³¯Â¥ÀÇ ¸¶Áö¸· À妽º ÀÌÈÄÀÇ È¸¼öÀÛ¾÷ Á¶È¸ --> ȸ¼öȸÂ÷´Â °Å·¡Ã³-´ë¿©¹øÈ£º°·Î ¼ø¹ø´ë·Î µûÁö´Â °Í °°½À´Ï´Ù. -- Q. ÀԱݳ¯Â¥ = ȸ¼ö³¯Â¥ , ÀÔ±ÝȸÂ÷ = ȸ¼öÀüÇ¥¹øÈ£? ¶È°°Àº µ¥ÀÌÅÍ 2¹ø Á¶È¸µË´Ï´Ù. SELECT A.LEND_NO -- ´ë¿©¹øÈ£ , A.RETRV_NO -- ȸ¼ö¹øÈ£ , TO_CHAR(A.RETRV_DT,'YYYYMMDD') AS RETRV_DT -- ÇØ´ç ȸ¼ö ³¯Â¥ , A.CUST_CD -- °Å·¡Ã³ÄÚµå , TO_CHAR(A.RETRV_DT,'YYYYMMDD') AS RETRV_DT_2 -- ÀԱݳ¯Â¥ , A.RETRV_NO AS RETRV_NO_2 -- ÀÔ±ÝȸÂ÷ , A.RETRV_AMT -- ȸ¼ö±Ý¾× , NVL((SELECT SUM(B.TOT_AMT) FROM CUST_A3910.DA901T0 B WHERE A.CUST_CD = B.CUST_CD AND B.LEND_DT <= '20181030'),0) - NVL((SELECT SUM(C.RETRV_AMT) FROM CUST_A3910.DA902T1 C WHERE A.CUST_CD = C.CUST_CD AND C.RETRV_DT <= '20181030'),0) AS AMT -- ´ë¿©±ÝÀÜ¾× FROM CUST_A3910.DA902T1 A WHERE RETRV_DT = '20181030' ; -- ######################################################### 1004_´ë¿©±Ýȸ¼öµ¥ÀÌÅÍ ######################################################### END -- ######################################################### 1004_´ë¿©±Ýȸ¼öµ¥ÀÌÅÍ ######################################################### START -- Q. ÃÖÃʵî·ÏÀÏÀÚ°¡ ÃÖÃÊ·Î µî·ÏÇÑ ½Ã°£ ¸Â³ª¿ä? -- Q. "¾÷Á¾" : »ç¿ëÀÚ ÀÔ·Â µ¥ÀÌÅÍ? SELECT A.CUST_CD -- °Å·¡Ã³ÄÚµå , A.CUST_NM -- °Å·¡Ã³¸í , B.SAL_CHRG_CD -- ´ã´ç»ç¿øÄÚµå , TO_CHAR(A.INS_DTTM,'YYYYMMDD') AS INS_DT -- ÃÖÃʵî·ÏÀÏÀÚ , A.BIZR_REG_NO -- »ç¾÷ÀÚ¹øÈ£ , A.BIZCND -- ¾÷Å , A.INDSTYP -- ¾÷Á¾ , A.REPR_NM -- ´ëÇ¥ÀÚ¸í , A.BIZPLC_TEL_NO1 -- »ç¾÷ÀåÀüÈ­¹øÈ£ , A.BIZPLC_ADDR1 || ' ' || A.BIZPLC_ADDR2 AS BIZPLC_ADDR -- »ç¾÷ÀåÁÖ¼Ò , A.CUST_STAT -- °Å·¡Ã³»óÅ FROM CUST_A3910.DA150T0 A JOIN CUST_A3910.DA150T2 B ON A.CUST_CD = B.CUST_CD WHERE A.PRCH_SAL_FG = '2' ; -- ######################################################### 1004_´ë¿©±Ýȸ¼öµ¥ÀÌÅÍ ######################################################### END -- ######################################################### 1006_¿µ¾÷»ç¿ø ######################################################### START SELECT B.SAL_CNT -- Àüü´ã´çÀÚ¼ö , A.SAL_CHRG_CD -- ¿µ¾÷´ã´çÄÚµå , A.SAL_CHRG_NM -- ¿µ¾÷»ç¿ø¸í , A.UZ_YN -- ¿µ¾÷»ç¿ø»óÅ FROM CUST_A3910.DA104T0 A LEFT JOIN ( SELECT COUNT(*) AS SAL_CNT FROM CUST_A3910.DA104T0 ) B ON 1=1 ; -- ######################################################### 1006_¿µ¾÷»ç¿ø ######################################################### END -- ######################################################### 1007_ǰ¸ñ ######################################################### START SELECT B.ITM_CNT -- Àüüǰ¸ñ¼ö , A.ITM_CD -- ǰ¸ñÄÚµå , A.ITM_NM -- ǰ¸ñ¸í , A.STND -- ±Ô°Ý(¿ë·®) , A.OBTIN_QTY -- ÀÔ¼ö·® , A.UZ_FG -- ¿ëµµ , A.UT -- ´ÜÀ§ , A.UZ_YN -- »ç¿ë¿©ºÎ , A.DRK_KND_FG -- ÁÖÁ¾ÄÚµå , A.DESCR -- ºñ°í FROM CUST_A3910.DA121T0 A LEFT JOIN ( SELECT COUNT(*) AS ITM_CNT FROM CUST_A3910.DA121T0 ) B ON 1=1 ; -- ######################################################### 1007_ǰ¸ñ ######################################################### END