일일거래내역.sql 17 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189
  1. /*일일거래내역*/
  2. SELECT ODIH.ORD_NO /*주문번호*/
  3. , ODIH.ORD_DTL_NO /*주문상세번호*/
  4. , ODIH.SELL_GB /*판매구분*/
  5. , ODIH.MALL_GB /*몰구분*/
  6. , ODIH.MALL_GB_NM /*몰구분명*/
  7. , ODIH.EXTMALL_ORDER_ID /*제휴몰주문번호*/
  8. , ODIH.EXTMALL_ID /*제휴몰ID*/
  9. , ODIH.EXTMALL_NM /*제휴몰명*/
  10. , ODIH.AF_LINK_CD /*제휴링크코드*/
  11. , ODIH.AF_LINK_NM /*제휴링크명*/
  12. , ODIH.AF_CHANNEL /*제휴채널코드*/
  13. , ODIH.AF_CHANNEL_NM /*제휴채널명*/
  14. , ODIH.DISTRIBUTION_GB /*유통구분*/
  15. , ODIH.DISTRIBUTION_GB_NM /*유통구분명*/
  16. , ODIH.SUPPLY_COMP_CD /*공급업체코드*/
  17. , ODIH.SUPPLY_COMP_NM /*공급업체명*/
  18. , ODIH.SUPPLY_VENDOR_CD /*공급벤더코드*/
  19. , ODIH.SUPPLY_VENDOR_NM /*공급벤더명*/
  20. , ODIH.ORD_DT /*주문일시*/
  21. , ODIH.OCCUR_DT /*발생일시*/
  22. , ODIH.BRAND_CD /*브랜드코드*/
  23. , ODIH.BRAND_ENM /*브랜드명*/
  24. , ODIH.GOODS_CD /*상품코드*/
  25. , ODIH.GOODS_NM /*상품명*/
  26. , ODIH.ITEM_CD /*단품코드*/
  27. , ODIH.OPT_CD1 /*옵션코드1*/
  28. , ODIH.OPT_CD2 /*옵션코드2*/
  29. , ODIH.ITEMKIND_CD /*품목코드*/
  30. , ODIH.ITEMKIND_NM /*품목명*/
  31. , ODIH.MALL_PRICE /*몰판매가*/
  32. , ODIH.SELL_PRICE /*판매가*/
  33. , ODIH.SELL_QTY /*판매수량*/
  34. , ODIH.SELL_AMT /*판매금액(ORD_AMT에는 CPN1_DC_AMT가 빠진 금액이 들어가 있음)*/
  35. , ODIH.CPN1_DC_AMT /*즉시사용쿠폰금액*/
  36. , ODIH.GOODS_CPN_DC_AMT /*상품쿠폰사용금액*/
  37. , ODIH.CART_CPN_DC_AMT /*주문서쿠폰사용금액*/
  38. , ODIH.PNT_DC_AMT /*포인트사용금액*/
  39. , ODIH.TMTB_DC_AMT /*다다익선할인금액*/
  40. , ODIH.SELF_TMTB_DC_AMT /*자사다다익선분담액*/
  41. , ODIH.SUPPLY_COMP_TMTB_DC_AMT /*입점다다익선분담액*/
  42. , ODIH.GFCD_USE_AMT /*상품권사용금액*/
  43. , ODIH.SELF_CPN_DC_AMT /*자사쿠폰분담액*/
  44. , ODIH.SUPPLY_COMP_CPN_DC_AMT /*입점쿠폰분담액*/
  45. , CASE WHEN ODIH.SELL_QTY = 0 THEN 0
  46. ELSE
  47. (ODIH.SELL_AMT
  48. - (ODIH.CPN1_DC_AMT + ODIH.GOODS_CPN_DC_AMT + ODIH.CART_CPN_DC_AMT)
  49. - ODIH.TMTB_DC_AMT
  50. ) / ODIH.SELL_QTY
  51. END AS REAL_SELL_PRICE /*실판매가*/
  52. , ODIH.SELL_AMT
  53. - (ODIH.CPN1_DC_AMT + ODIH.GOODS_CPN_DC_AMT + ODIH.CART_CPN_DC_AMT)
  54. - ODIH.TMTB_DC_AMT AS REAL_SELL_AMT /*실판매금액(=상품총액. 쿠폰과 다다익선만 차감. 상품권과 포인트는 포함)*/
  55. , ODIH.SELL_FEE_RATE /*판매수수료율*/
  56. , ROUND((ODIH.SELL_AMT
  57. - (ODIH.CPN1_DC_AMT + ODIH.GOODS_CPN_DC_AMT + ODIH.CART_CPN_DC_AMT)
  58. - ODIH.TMTB_DC_AMT
  59. ) * (ODIH.SELL_FEE_RATE / 100),0) AS SELL_FEE_AMT /*수수료*/
  60. , (ODIH.SELL_AMT
  61. - (ODIH.CPN1_DC_AMT + ODIH.GOODS_CPN_DC_AMT + ODIH.CART_CPN_DC_AMT)
  62. - ODIH.TMTB_DC_AMT)
  63. - ROUND((ODIH.SELL_AMT
  64. - (ODIH.CPN1_DC_AMT + ODIH.GOODS_CPN_DC_AMT + ODIH.CART_CPN_DC_AMT)
  65. - ODIH.TMTB_DC_AMT
  66. ) * (ODIH.SELL_FEE_RATE / 100),0)
  67. + (ODIH.SELF_CPN_DC_AMT + ODIH.SELF_TMTB_DC_AMT) AS SETTLE_AMT /*정산대상액(실판매금액 - 수수료 + 자사다다익선분담액 + 자사쿠폰분담액)*/
  68. , ODIH.MD_NM /*담당MD*/
  69. FROM (
  70. SELECT ODIH.ORD_DTL_ITEM_HST_SQ /*주문상세단품이력일련번호*/
  71. , ODIH.ORD_NO /*주문번호*/
  72. , ODIH.ORD_DTL_NO /*주문상세번호*/
  73. , CASE WHEN ODIH.ORD_DTL_STAT = 'G720_10' THEN '판매'
  74. WHEN ODIH.ORD_DTL_STAT = 'G720_30' THEN '취소'
  75. WHEN ODIH.ORD_DTL_STAT = 'G720_40' THEN '품절취소'
  76. WHEN ODIH.ORD_DTL_STAT = 'G720_50' THEN '반품'
  77. WHEN ODIH.ORD_DTL_STAT = 'G720_60' THEN '교환'
  78. END AS SELL_GB /*판매구분*/
  79. , O.MALL_GB /*몰구분*/
  80. , FN_GET_CODE_NM('G011',O.MALL_GB) AS MALL_GB_NM /*몰구분명*/
  81. , OD.EXTMALL_ORDER_ID /*제휴몰주문번호*/
  82. , OD.EXTMALL_ID /*제휴몰ID*/
  83. , E.EXTMALL_NM /*제휴몰명*/
  84. , OD.AF_LINK_CD /*제휴링크코드*/
  85. , AL.AF_LINK_NM /*제휴링크명*/
  86. , AL.AF_CHANNEL /*제휴채널코드*/
  87. , FN_GET_CODE_NM('G053',AL.AF_CHANNEL) AS AF_CHANNEL_NM /*제휴채널명*/
  88. , SC.DISTRIBUTION_GB /*유통구분*/
  89. , FN_GET_CODE_NM('G065',SC.DISTRIBUTION_GB) AS DISTRIBUTION_GB_NM /*유통구분명*/
  90. , OD.SUPPLY_COMP_CD /*공급업체코드*/
  91. , SC.SUPPLY_COMP_NM /*공급업체명*/
  92. , SC.SUPPLY_VENDOR_CD /*공급벤더코드*/
  93. , SV.SUPPLY_VENDOR_NM /*공급벤더명*/
  94. , DATE_FORMAT(O.PAY_DT,'%Y-%m-%d %H:%i:%S') AS ORD_DT /*주문일시*/
  95. , DATE_FORMAT(ODIH.REG_DT,'%Y-%m-%d %H:%i:%S') AS OCCUR_DT /*발생일시*/
  96. , G.BRAND_CD /*브랜드코드*/
  97. , B.BRAND_ENM /*브랜드명*/
  98. , OD.GOODS_CD /*상품코드*/
  99. , G.GOODS_NM /*상품명*/
  100. , ODIH.ITEM_CD /*단품코드*/
  101. , ODIH.OPT_CD1 /*옵션코드1*/
  102. , ODIH.OPT_CD2 /*옵션코드2*/
  103. , G.ITEMKIND_CD /*품목코드*/
  104. , I.ITEMKIND_NM /*품목명*/
  105. , ODIH.ITEM_PRICE AS MALL_PRICE /*몰판매가*/
  106. , CASE WHEN O.MALL_GB = 'G011_20' /*제휴몰*/ THEN
  107. IFNULL(EUP.USAC_PRICE,ODIH.ITEM_PRICE)
  108. ELSE
  109. ODIH.ITEM_PRICE
  110. END AS SELL_PRICE /*판매가(제휴몰정산가적용)*/
  111. , (CASE WHEN ODIH.ORD_DTL_STAT = 'G720_10' THEN 1 ELSE -1 END)
  112. *
  113. CAST(CASE WHEN ODIH.ORD_DTL_STAT = 'G720_10'/*판매-결제완료*/ THEN
  114. ODIH.ORD_QTY - ODIH.CNCL_RTN_QTY
  115. ELSE /*환입-반품완료,환입-교환완료*/
  116. ODIH.CNCL_RTN_QTY
  117. END AS SIGNED INT) AS SELL_QTY /*판매수량*/
  118. , (CASE WHEN ODIH.ORD_DTL_STAT = 'G720_10' THEN 1 ELSE -1 END)
  119. *
  120. CAST(CASE WHEN ODIH.ORD_DTL_STAT = 'G720_10'/*판매-결제완료*/ THEN
  121. ((ODIH.ORD_QTY - ODIH.CNCL_RTN_QTY) * (CASE WHEN O.MALL_GB = 'G011_20' /*제휴몰*/ THEN
  122. IFNULL(EUP.USAC_PRICE,ODIH.ITEM_PRICE)
  123. ELSE
  124. ODIH.ITEM_PRICE
  125. END))
  126. + ODIH.CPN1_DC_AMT
  127. ELSE /*환입-반품완료,환입-교환완료*/
  128. (ODIH.CNCL_RTN_QTY * (CASE WHEN O.MALL_GB = 'G011_20' /*제휴몰*/ THEN
  129. IFNULL(EUP.USAC_PRICE,ODIH.ITEM_PRICE)
  130. ELSE
  131. ODIH.ITEM_PRICE
  132. END))
  133. + ODIH.CPN1_DC_AMT
  134. END AS SIGNED INT) AS SELL_AMT /*판매금액(ORD_AMT에는 CPN1_DC_AMT가 빠진 금액이 들어가 있음)*/
  135. , ODIH.CPN1_DC_AMT /*즉시사용쿠폰금액*/
  136. , ODIH.GOODS_CPN_DC_AMT /*상품쿠폰사용금액*/
  137. , ODIH.CART_CPN_DC_AMT /*주문서쿠폰사용금액*/
  138. , ODIH.PNT_DC_AMT /*포인트사용금액*/
  139. , ODIH.TMTB1_DC_AMT + ODIH.TMTB2_DC_AMT AS TMTB_DC_AMT /*다다익선할인금액*/
  140. , ((100 - IFNULL(TB1.TMTB_BURDEN_RATE,0)) / 100) * ODIH.TMTB1_DC_AMT
  141. + ((100 - IFNULL(TB2.TMTB_BURDEN_RATE,0)) / 100) * ODIH.TMTB2_DC_AMT AS SELF_TMTB_DC_AMT /*자사다다익선분담액*/
  142. , (IFNULL(TB1.TMTB_BURDEN_RATE,0) / 100) * ODIH.TMTB1_DC_AMT
  143. + (IFNULL(TB2.TMTB_BURDEN_RATE,0) / 100) * ODIH.TMTB2_DC_AMT AS SUPPLY_COMP_TMTB_DC_AMT /*입점다다익선분담액*/
  144. , ODIH.GFCD_USE_AMT /*상품권사용금액*/
  145. , ((100 - IFNULL(CB1.BURDEN_RATE,0)) / 100) * ODIH.CPN1_DC_AMT
  146. + ((100 - IFNULL(CB2.BURDEN_RATE,0)) / 100) * ODIH.GOODS_CPN_DC_AMT
  147. + ((100 - IFNULL(CB3.BURDEN_RATE,0)) / 100) * ODIH.CART_CPN_DC_AMT AS SELF_CPN_DC_AMT /*자사쿠폰분담액*/
  148. , (IFNULL(CB1.BURDEN_RATE,0) / 100) * ODIH.CPN1_DC_AMT
  149. + (IFNULL(CB2.BURDEN_RATE,0) / 100) * ODIH.GOODS_CPN_DC_AMT
  150. + (IFNULL(CB3.BURDEN_RATE,0) / 100) * ODIH.CART_CPN_DC_AMT AS SUPPLY_COMP_CPN_DC_AMT /*입점쿠폰분담액*/
  151. , CASE WHEN O.MALL_GB = 'G011_10' /*자사몰*/ THEN
  152. OD.SELL_FEE_RATE
  153. ELSE /*제휴몰*/
  154. IFNULL(E.SELL_FEE_RATE,0)
  155. END AS SELL_FEE_RATE /*판매수수료율*/
  156. , (SELECT U.USER_NM
  157. FROM TB_BRAND_MD BM
  158. , TB_USER U
  159. WHERE BM.MD_NO = U.USER_NO
  160. AND BM.BRAND_CD = G.BRAND_CD
  161. AND BM.FORMAL_GB = G.FORMAL_GB
  162. LIMIT 1) AS MD_NM /*담당MD*/
  163. FROM TB_ORDER_DETAIL_ITEM_HST ODIH
  164. INNER JOIN TB_ORDER_DETAIL OD ON ODIH.ORD_DTL_NO = OD.ORD_DTL_NO
  165. INNER JOIN TB_ORDER O ON ODIH.ORD_NO = O.ORD_NO
  166. INNER JOIN TB_SUPPLY_COMPANY SC ON OD.SUPPLY_COMP_CD = SC.SUPPLY_COMP_CD
  167. INNER JOIN TB_SUPPLY_VENDOR SV ON SC.SUPPLY_VENDOR_CD = SV.SUPPLY_VENDOR_CD
  168. INNER JOIN TB_GOODS G ON OD.GOODS_CD = G.GOODS_CD
  169. INNER JOIN TB_BRAND B ON G.BRAND_CD = B.BRAND_CD
  170. INNER JOIN TB_ITEMKIND I ON G.ITEMKIND_CD = I.ITEMKIND_CD
  171. LEFT OUTER JOIN TB_EXTMALL E ON OD.EXTMALL_ID = E.EXTMALL_ID
  172. LEFT OUTER JOIN TB_AF_LINK AL ON OD.AF_LINK_CD = AL.AF_LINK_CD
  173. LEFT OUTER JOIN TB_COUPON_BURDEN CB1 ON OD.CPN1_CPN_SQ = CB1.CPN_ID
  174. AND OD.SUPPLY_COMP_CD = CB1.SUPPLY_COMP_CD
  175. LEFT OUTER JOIN TB_COUPON_BURDEN CB2 ON OD.GOODS_CPN_SQ = CB2.CPN_ID
  176. AND OD.SUPPLY_COMP_CD = CB2.SUPPLY_COMP_CD
  177. LEFT OUTER JOIN TB_COUPON_BURDEN CB3 ON OD.CART_CPN_SQ = CB3.CPN_ID
  178. AND OD.SUPPLY_COMP_CD = CB3.SUPPLY_COMP_CD
  179. LEFT OUTER JOIN TB_TMTB_BURDEN TB1 ON OD.TMTB1_SQ = TB1.TMTB_SQ
  180. AND OD.SUPPLY_COMP_CD = TB1.TMTB_SUPPLY_CD
  181. LEFT OUTER JOIN TB_TMTB_BURDEN TB2 ON OD.TMTB2_SQ = TB2.TMTB_SQ
  182. AND OD.SUPPLY_COMP_CD = TB2.TMTB_SUPPLY_CD
  183. LEFT OUTER JOIN TB_EXTMALL_USAC_PRICE EUP ON ODIH.ORD_DTL_ITEM_HST_SQ = EUP.ORD_DTL_ITEM_HST_SQ
  184. WHERE 1 = 1
  185. AND ODIH.REG_DT >= STR_TO_DATE('2021-08-30','%Y-%m-%d')
  186. AND ODIH.REG_DT < DATE_ADD(STR_TO_DATE('2021-08-30','%Y-%m-%d'), INTERVAL 1 DAY)
  187. AND ODIH.ORD_DTL_STAT IN ('G720_10','G720_30','G720_40','G720_50','G720_60') /*판매-결제완료,환입-취소완료,환입-품절취소,환입-반품완료,환입-교환완료*/
  188. ) ODIH
  189. ORDER BY ODIH.ORD_DTL_ITEM_HST_SQ