네이버EP생성_20210615_2.sql 39 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956
  1. ################################################################################
  2. #EP상품이미지
  3. ################################################################################
  4. DROP TABLE IF EXISTS TB_EP_GOODS_IMG RESTRICT;
  5. CREATE TABLE TB_EP_GOODS_IMG (
  6. GOODS_CD VARCHAR(20) NOT NULL COMMENT '상품코드(상품)',
  7. IMAGE_LINK VARCHAR(200) COMMENT '이미지링크'
  8. )
  9. COMMENT 'EP상품이미지. EP상품이미지 생성에 의한 발생';
  10. ################################################################################
  11. #EP상품추가이미지
  12. ################################################################################
  13. DROP TABLE IF EXISTS TB_EP_GOODS_ADD_IMG RESTRICT;
  14. CREATE TABLE TB_EP_GOODS_ADD_IMG (
  15. GOODS_CD VARCHAR(20) NOT NULL COMMENT '상품코드(상품)',
  16. ADD_IMAGE_LINK VARCHAR(1000) COMMENT '추가이미지링크(|로 구분. 최대4개)'
  17. )
  18. COMMENT 'EP상품추가이미지. EP상품추가이미지 생성에 의한 발생';
  19. ################################################################################
  20. #EP카드행사
  21. ################################################################################
  22. DROP TABLE IF EXISTS TB_EP_CARD_EVENT RESTRICT;
  23. CREATE TABLE TB_EP_CARD_EVENT (
  24. GOODS_CD VARCHAR(20) NOT NULL COMMENT '상품코드(상품)',
  25. CARD_EVENT VARCHAR(100) COMMENT '카드행사'
  26. )
  27. COMMENT 'EP카드행사. EP카드행사 생성에 의한 발생';
  28. ################################################################################
  29. #EP쿠폰
  30. ################################################################################
  31. DROP TABLE IF EXISTS TB_EP_COUPON RESTRICT;
  32. CREATE TABLE TB_EP_COUPON (
  33. GOODS_CD VARCHAR(20) NOT NULL COMMENT '상품코드(상품)',
  34. COUPON VARCHAR(100) COMMENT '할인쿠폰정보'
  35. )
  36. COMMENT 'EP쿠폰. EP쿠폰 생성에 의한 발생';
  37. ################################################################################
  38. #EP무이자행사
  39. ################################################################################
  40. DROP TABLE IF EXISTS TB_EP_INTEREST_FREE_EVENT RESTRICT;
  41. CREATE TABLE TB_EP_INTEREST_FREE_EVENT (
  42. GOODS_CD VARCHAR(20) NOT NULL COMMENT '상품코드(상품)',
  43. INTEREST_FREE_EVENT VARCHAR(100) COMMENT '무이자행사'
  44. )
  45. COMMENT 'EP무이자행사. EP무이자행사 생성에 의한 발생';
  46. ################################################################################
  47. #EP네이버
  48. ################################################################################
  49. DROP TABLE IF EXISTS TB_EP_NAVER RESTRICT;
  50. CREATE TABLE TB_EP_NAVER (
  51. GB VARCHAR(4) NOT NULL COMMENT '구분(PREV:이전, CURR:현재)',
  52. ID VARCHAR(20) NOT NULL COMMENT '상품코드(상품)',
  53. TITLE VARCHAR(100) COMMENT '상품명([브랜드명]+상품명+상품코드 형식)',
  54. PRICE_PC INT UNSIGNED COMMENT 'PC가격',
  55. PRICE_MOBILE INT UNSIGNED COMMENT '모바일가격',
  56. NORMAL_PRICE INT UNSIGNED COMMENT '정상가',
  57. LINK VARCHAR(200) COMMENT 'PC상품상세URL',
  58. MOBILE_LINK VARCHAR(200) COMMENT '모바일상품상세URL',
  59. IMAGE_LINK VARCHAR(200) COMMENT '이미지링크',
  60. ADD_IMAGE_LINK VARCHAR(1000) COMMENT '추가이미지링크(|로 구분. 최대4개)',
  61. CATEGORY_NAME1 VARCHAR(50) COMMENT '카테고리명1',
  62. CATEGORY_NAME2 VARCHAR(50) COMMENT '카테고리명2',
  63. CATEGORY_NAME3 VARCHAR(50) COMMENT '카테고리명3',
  64. CATEGORY_NAME4 VARCHAR(50) COMMENT '카테고리명4',
  65. NAVER_CATEGORY VARCHAR(20) COMMENT '네이버카테고리(EP카테고리)',
  66. GOODS_GB_NM VARCHAR(10) COMMENT '상품구분명(공통코드G073)',
  67. IMPORT_FLAG VARCHAR(1) COMMENT '해외구매대행여부',
  68. PARALLEL_IMPORT VARCHAR(1) COMMENT '병행수입여부',
  69. ORDER_MADE VARCHAR(1) COMMENT '주문제작여부',
  70. PRODUCT_FLAG VARCHAR(10) COMMENT '예약판매',
  71. ADULT VARCHAR(1) COMMENT '미성년자구매불가상품여부',
  72. MANUFACTURE_DEFINE_NUMBER VARCHAR(20) COMMENT '제품코드(품번)',
  73. BRAND VARCHAR(50) COMMENT '브랜드명',
  74. MAKER VARCHAR(50) COMMENT '제조사',
  75. ORIGIN VARCHAR(50) COMMENT '원산지',
  76. CARD_EVENT VARCHAR(100) COMMENT '카드행사(카드즉시할인 등록된 기준으로 적용. 카드명^카드적용가|카드명^카드적용가... 형식)',
  77. EVENT_WORDS VARCHAR(100) COMMENT '상품타이틀명(세일링문구)',
  78. COUPON VARCHAR(100) COMMENT '할인쿠폰정보(일반쿠폰^정율제휴쿠폰^정액제휴쿠폰 형식. 일반쿠폰은 최대할인기준 1개)',
  79. PARTNER_COUPON_DOWNLOAD VARCHAR(1) COMMENT '쿠폰다운로드필요여부',
  80. INTEREST_FREE_EVENT VARCHAR(100) COMMENT '무이자행사(카드명^개월수-개월수|카드명^개월수-개월수... 형식)',
  81. POINT VARCHAR(50) COMMENT '포인트정보(스타일포인트^포인트액 형식)',
  82. SEARCH_TAG VARCHAR(100) COMMENT '검색태그',
  83. MINIMUM_PURCHASE_QUANTITY VARCHAR(10) COMMENT '최소구매수량',
  84. REVIEW_COUNT INT UNSIGNED COMMENT '상품평수',
  85. SHIPPING INT UNSIGNED COMMENT '배송료',
  86. AGE_GROUP VARCHAR(10) COMMENT '나이(베이비->유아, 키즈여아/키즈남아/키즈공용->아동, 주니어남아/주니어여아/주니어공용->청소년, 성인)',
  87. GENDER VARCHAR(10) COMMENT '성별(남성/여성/남여공용)',
  88. GOODS_STAT VARCHAR(20) COMMENT '상품상태(공통코드G008)',
  89. SELF_MALL_YN CHAR(1) COMMENT '자사몰노출여부',
  90. SELL_STDT DATETIME COMMENT '판매시작일시',
  91. SELL_EDDT DATETIME COMMENT '판매종료일시',
  92. ADULT_YN CHAR(1) COMMENT '성인용품여부',
  93. UPD_GB VARCHAR(1) COMMENT '업데이트구분(I:신규상품, U:기존상품중업데이트된상품 또는 품절되었다가다시서비스되는상품, D:품절상품)',
  94. UPDATE_TIME VARCHAR(20) COMMENT '업데이트시간(YYYY-MM-DD HH:MM:SS 형식)'
  95. )
  96. COMMENT 'EP네이버. EP네이버 생성에 의한 발생';
  97. CREATE UNIQUE INDEX IX_EP_NAVER_01
  98. ON TB_EP_NAVER (
  99. GB, ID
  100. );
  101. ################################################################################
  102. #EP다음
  103. ################################################################################
  104. DROP TABLE IF EXISTS TB_EP_DAUM RESTRICT;
  105. CREATE TABLE TB_EP_DAUM (
  106. GB VARCHAR(4) NOT NULL COMMENT '구분(PREV:이전, CURR:현재)',
  107. MAPID VARCHAR(20) NOT NULL COMMENT '상품코드(상품)',
  108. LPRICE INT UNSIGNED COMMENT '정상가',
  109. PRICE INT UNSIGNED COMMENT 'PC가격',
  110. MPRIC INT UNSIGNED COMMENT '모바일가격',
  111. PNAME VARCHAR(100) COMMENT '상품명([상품구분명]+[브랜드명]+상품명+상품코드 형식)',
  112. PGURL VARCHAR(200) COMMENT 'PC상품상세URL',
  113. IGURL VARCHAR(200) COMMENT '이미지링크',
  114. UPIMG VARCHAR(1) DEFAULT 'N' COMMENT '전체EP생성 이후 이미지변경되었을때전송(Y/N)',
  115. CATE1 VARCHAR(50) COMMENT '카테고리명1',
  116. CAID1 VARCHAR(10) COMMENT '카테고리ID1',
  117. CATE2 VARCHAR(50) COMMENT '카테고리명2',
  118. CAID2 VARCHAR(10) COMMENT '카테고리ID2',
  119. CATE3 VARCHAR(50) COMMENT '카테고리명3',
  120. CAID3 VARCHAR(10) COMMENT '카테고리ID3',
  121. CATE4 VARCHAR(50) COMMENT '카테고리명4',
  122. CAID4 VARCHAR(10) COMMENT '카테고리ID4',
  123. MODEL VARCHAR(20) COMMENT '모델(품번)',
  124. BRAND VARCHAR(50) COMMENT '브랜드명',
  125. MAKER VARCHAR(50) COMMENT '제조사',
  126. COUPON VARCHAR(100) COMMENT '할인쿠폰정보(일반쿠폰^정율제휴쿠폰^정액제휴쿠폰 형식. 일반쿠폰은 최대할인기준 1개)',
  127. MCOUPON VARCHAR(100) COMMENT '할인쿠폰정보(일반쿠폰^정율제휴쿠폰^정액제휴쿠폰 형식. 일반쿠폰은 최대할인기준 1개)',
  128. PCARD VARCHAR(100) COMMENT '무이자행사(카드명^개월수-개월수|카드명^개월수-개월수... 형식)',
  129. POINT VARCHAR(10) COMMENT '포인트율',
  130. DELIV INT UNSIGNED COMMENT '배송료',
  131. DELIVTERM INT UNSIGNED COMMENT '배송기간',
  132. RATING VARCHAR(20) COMMENT '상품평점수(4.5/5 형식)',
  133. REVCT INT UNSIGNED COMMENT '상품평수',
  134. EVENT VARCHAR(100) COMMENT '상품타이틀명(세일링문구)',
  135. CARDDN VARCHAR(100) COMMENT '카드행사(카드즉시할인 등록된 기준으로 적용. 카드명^카드적용가|카드명^카드적용가... 형식)',
  136. CARDP INT UNSIGNED COMMENT '카드적용가(최대1개)',
  137. ADULT VARCHAR(1) COMMENT '성인상품여부',
  138. PUBDATE VARCHAR(8) COMMENT '상품등록일',
  139. GOODS_STAT VARCHAR(20) COMMENT '상품상태(공통코드G008)',
  140. SELF_MALL_YN CHAR(1) COMMENT '자사몰노출여부',
  141. SELL_STDT DATETIME COMMENT '판매시작일시',
  142. SELL_EDDT DATETIME COMMENT '판매종료일시',
  143. UPD_GB VARCHAR(1) COMMENT '업데이트구분(I:신규상품, U:기존상품중업데이트된상품 또는 품절되었다가다시서비스되는상품, D:품절상품)',
  144. UTIME VARCHAR(20) COMMENT '업데이트시간(YYYYMMDDHHMMSS 형식)'
  145. )
  146. COMMENT 'EP다음. EP다음 생성에 의한 발생';
  147. CREATE UNIQUE INDEX IX_EP_DAUM_01
  148. ON TB_EP_DAUM (
  149. GB, ID
  150. );
  151. -- SET GROUP_CONCAT_MAX_LEN = 102400;
  152. /* TsbGoodsEp.truncateEpGoodsImage */
  153. TRUNCATE TABLE TB_EP_GOODS_IMG;
  154. /* TsbGoodsEp.createEpGoodsImage *(32초) */
  155. INSERT INTO TB_EP_GOODS_IMG (
  156. GOODS_CD
  157. , IMAGE_LINK
  158. )
  159. SELECT G.GOODS_CD
  160. , CONCAT('https://image.istyle24.com/Upload/ProductImage/',GI.SYS_IMG_NM) AS IMAGE_LINK
  161. FROM TB_GOODS G
  162. , TB_GOODS_IMG GI
  163. WHERE G.GOODS_CD = GI.GOODS_CD
  164. AND IF(G.SELF_GOODS_YN = 'N','XX',G.MAIN_COLOR_CD) = GI.COLOR_CD
  165. AND GI.DEFAULT_IMG_YN = 'Y'
  166. ;
  167. SELECT COUNT(*) FROM TB_EP_GOODS_IMG;
  168. /* TsbGoodsEp.truncateEpGoodsAddImage */
  169. TRUNCATE TABLE TB_EP_GOODS_ADD_IMG;
  170. /* TsbGoodsEp.createEpGoodsAddImage (24초) */
  171. INSERT INTO TB_EP_GOODS_ADD_IMG (
  172. GOODS_CD
  173. , ADD_IMAGE_LINK
  174. )
  175. SELECT GOODS_CD
  176. , GROUP_CONCAT(CONCAT('https://image.istyle24.com/Upload/ProductImage/',SYS_IMG_NM) SEPARATOR '|') AS ADD_IMAGE_LINK
  177. FROM (SELECT GI.GOODS_CD
  178. , GI.SYS_IMG_NM
  179. , RANK() OVER(PARTITION BY GI.GOODS_CD
  180. ORDER BY GI.DISP_ORD, GI.SYS_IMG_NM) AS RK
  181. FROM TB_GOODS G
  182. , TB_GOODS_IMG GI
  183. WHERE G.GOODS_CD = GI.GOODS_CD
  184. AND IF(G.SELF_GOODS_YN = 'N','XX',G.MAIN_COLOR_CD) = GI.COLOR_CD
  185. AND GI.DEFAULT_IMG_YN = 'N'
  186. ) Z
  187. WHERE RK <= 4
  188. GROUP BY GOODS_CD
  189. ;
  190. SELECT COUNT(*) FROM TB_EP_GOODS_ADD_IMG;
  191. /* TsbGoodsEp.truncateEpCardEvent */
  192. TRUNCATE TABLE TB_EP_CARD_EVENT;
  193. /* TsbGoodsEp.createEpCardEvent (1초) */
  194. INSERT INTO TB_EP_CARD_EVENT (
  195. GOODS_CD
  196. , CARD_EVENT
  197. )
  198. SELECT G.GOODS_CD
  199. , GROUP_CONCAT(DISTINCT
  200. CONCAT(FN_GET_CODE_NM('G941',CPT.PRMT_TARGET_CD),'^',
  201. (G.CURR_PRICE
  202. -
  203. CASE WHEN CPC.DC_WAY = 'G240_10' /*정액할인*/ THEN CPC.DC_VAL
  204. ELSE /*정율할인*/ CAST(G.CURR_PRICE * CPC.DC_VAL / 100 AS SIGNED INTEGER)
  205. END))
  206. SEPARATOR '|') AS CARD_EVENT
  207. FROM TB_CARD_PROMOTION CP
  208. , TB_CARD_PROMOTION_CONDITION CPC
  209. , TB_CARD_PROMOTION_TARGET CPT
  210. , (
  211. SELECT G.GOODS_CD
  212. , IFNULL(GBP.PC_CURR_PRICE,G.CURR_PRICE) * G.MIN_ORD_QTY AS CURR_PRICE
  213. FROM TB_GOODS G
  214. , TB_GOODS_BENEFIT_PRICE GBP
  215. WHERE G.GOODS_CD = GBP.GOODS_CD
  216. ) G
  217. WHERE CP.CARD_PRMT_SQ = CPC.CARD_PRMT_SQ
  218. AND CPC.CARD_PRMT_CDT_SQ = CPT.CARD_PRMT_CDT_SQ
  219. AND CP.PRMT_GB = 'A' /*카드할인*/
  220. AND CP.DC_GB = '1' /*즉시할인*/
  221. AND CP.PRMT_STD <= DATE_FORMAT(CURRENT_DATE(),'%Y%m%d')
  222. AND CP.PRMT_EDD >= DATE_FORMAT(CURRENT_DATE(),'%Y%m%d')
  223. AND CP.DISP_YN = 'Y'
  224. AND CPC.MIN_PAY_AMT < G.CURR_PRICE
  225. GROUP BY G.GOODS_CD
  226. ;
  227. SELECT COUNT(*) FROM TB_EP_CARD_EVENT;
  228. /* TsbGoodsEp.truncateEpCoupon */
  229. TRUNCATE TABLE TB_EP_COUPON;
  230. /* TsbGoodsEp.createEpCoupon (1초) */
  231. INSERT INTO TB_EP_COUPON (
  232. GOODS_CD
  233. , COUPON
  234. )
  235. SELECT GOODS_CD
  236. , CONCAT(IFNULL(NORMAL_CPN,''),IF(AFLINK_CPN11 IS NULL,'',CONCAT('^',AFLINK_CPN11)),IF(AFLINK_CPN10 IS NULL,'',CONCAT('^',AFLINK_CPN10))) AS COUPON
  237. FROM (
  238. SELECT CR.REF_VAL AS GOODS_CD
  239. , CASE WHEN IFNULL(CAC.CNT,0) = 0 THEN
  240. CONCAT(C.DC_PVAL,CASE WHEN C.DC_WAY = 'G240_10' THEN '원' ELSE '%' END)
  241. ELSE
  242. NULL
  243. END AS NORMAL_CPN /*일반쿠폰*/
  244. , CASE WHEN IFNULL(CAC.CNT,0) > 0 AND C.DC_WAY = 'G240_10' THEN
  245. C.DC_PVAL
  246. ELSE
  247. NULL
  248. END AS AFLINK_CPN10 /*정액제휴쿠폰*/
  249. , CASE WHEN IFNULL(CAC.CNT,0) > 0 AND C.DC_WAY = 'G240_11' THEN
  250. C.DC_PVAL
  251. ELSE
  252. NULL
  253. END AS AFLINK_CPN11 /*정율제휴쿠폰*/
  254. , CASE WHEN IFNULL(CAC.CNT,0) = 0 THEN
  255. CASE WHEN C.DC_WAY = 'G240_10' THEN C.DC_PVAL
  256. ELSE IFNULL(GBP.PC_CURR_PRICE,G.CURR_PRICE) * G.MIN_ORD_QTY * C.DC_PVAL / 100
  257. END
  258. ELSE
  259. 0
  260. END AS NCPN_DC_AMT /*일반쿠폰할인금액*/
  261. , RANK() OVER(PARTITION BY CR.REF_VAL
  262. ORDER BY (CASE WHEN IFNULL(CAC.CNT,0) = 0 THEN
  263. CASE WHEN C.DC_WAY = 'G240_10' THEN C.DC_PVAL
  264. ELSE IFNULL(GBP.PC_CURR_PRICE,G.CURR_PRICE) * G.MIN_ORD_QTY * C.DC_PVAL / 100
  265. END
  266. ELSE
  267. 0
  268. END) DESC,
  269. (CASE WHEN IFNULL(CAC.CNT,0) > 0 AND C.DC_WAY = 'G240_10' THEN
  270. C.DC_PVAL
  271. ELSE
  272. 0
  273. END) DESC,
  274. (CASE WHEN IFNULL(CAC.CNT,0) > 0 AND C.DC_WAY = 'G240_11' THEN
  275. IFNULL(GBP.PC_CURR_PRICE,G.CURR_PRICE) * G.MIN_ORD_QTY * C.DC_PVAL / 100
  276. ELSE
  277. 0
  278. END) DESC
  279. ) AS RK
  280. FROM TB_COUPON C
  281. INNER JOIN TB_COUPON_REFVAL CR ON C.CPN_ID = CR.CPN_ID
  282. INNER JOIN TB_GOODS G ON CR.REF_VAL = G.GOODS_CD
  283. LEFT OUTER JOIN TB_GOODS_BENEFIT_PRICE GBP ON G.GOODS_CD = GBP.GOODS_CD
  284. LEFT OUTER JOIN (
  285. SELECT CPN_ID
  286. , COUNT(*) AS CNT
  287. FROM TB_COUPON_AF_CHANNEL
  288. WHERE AF_LINK_CD IN (SELECT AF_LINK_CD
  289. FROM TB_AF_LINK
  290. WHERE AF_CHANNEL = 'G053_02' /*네이버*/
  291. AND USE_YN = 'Y'
  292. )
  293. GROUP BY CPN_ID
  294. ) CAC ON C.CPN_ID = CAC.CPN_ID
  295. WHERE C.SITE_CD = 'G000_10'
  296. AND C.CPN_STAT = 'G232_11' /*진행쿠폰*/
  297. AND C.CPN_TYPE IN ('G230_11','G230_20') /*상품쿠폰,주문서쿠폰*/
  298. AND (
  299. (C.PD_GB = 'D' AND NOW() < DATE_ADD(NOW(), INTERVAL C.AVAIL_DAYS DAY))
  300. OR
  301. (C.PD_GB = 'P' AND NOW() BETWEEN C.AVAIL_STDT AND C.AVAIL_EDDT)
  302. )
  303. AND C.APPLY_SCOPE = 'I' /*개별쿠폰*/
  304. AND CR.CPN_TYPE IN ('G230_11','G230_20') /*상품쿠폰,주문서쿠폰*/
  305. AND CR.CPN_TARGET = 'G260_10' /*상품쿠폰*/
  306. AND CR.DEL_YN = 'N'
  307. AND NOT EXISTS (SELECT 1
  308. FROM TB_COUPON_REFVAL
  309. WHERE CPN_ID = CR.CPN_ID
  310. AND CPN_TARGET = 'G260_14' /*제외상품*/
  311. AND REF_VAL = CR.REF_VAL
  312. AND DEL_YN = 'N'
  313. )
  314. ) Z
  315. WHERE RK = 1
  316. AND (
  317. NORMAL_CPN IS NOT NULL
  318. OR
  319. AFLINK_CPN10 IS NOT NULL
  320. OR
  321. AFLINK_CPN11 IS NOT NULL
  322. )
  323. ;
  324. SELECT COUNT(*) FROM TB_EP_COUPON;
  325. /* TsbGoodsEp.truncateEpInterestFreeEvent */
  326. TRUNCATE TABLE TB_EP_INTEREST_FREE_EVENT;
  327. /* TsbGoodsEp.createEpInterestFreeEvent (1초) */
  328. INSERT INTO TB_EP_INTEREST_FREE_EVENT (
  329. GOODS_CD
  330. , INTEREST_FREE_EVENT
  331. )
  332. SELECT G.GOODS_CD
  333. , GROUP_CONCAT(DISTINCT
  334. CONCAT(FN_GET_CODE_NM('G941',CPT.PRMT_TARGET_CD),'^',
  335. CPC.MIN_NO_ITRT,'~',CPC.MAX_NO_ITRT)
  336. SEPARATOR '|') AS INTEREST_FREE_EVENT /*무이자이벤트정보*/
  337. FROM TB_CARD_PROMOTION CP
  338. , TB_CARD_PROMOTION_CONDITION CPC
  339. , TB_CARD_PROMOTION_TARGET CPT
  340. , (
  341. SELECT G.GOODS_CD
  342. , IFNULL(GBP.PC_CURR_PRICE,G.CURR_PRICE) * G.MIN_ORD_QTY AS CURR_PRICE
  343. FROM TB_GOODS G
  344. , TB_GOODS_BENEFIT_PRICE GBP
  345. WHERE G.GOODS_CD = GBP.GOODS_CD
  346. ) G
  347. WHERE CP.CARD_PRMT_SQ = CPC.CARD_PRMT_SQ
  348. AND CPC.CARD_PRMT_CDT_SQ = CPT.CARD_PRMT_CDT_SQ
  349. AND CP.PRMT_GB = 'B' /*무이자할부*/
  350. AND CP.PRMT_STD <= DATE_FORMAT(CURRENT_DATE(),'%Y%m%d')
  351. AND CP.PRMT_EDD >= DATE_FORMAT(CURRENT_DATE(),'%Y%m%d')
  352. AND CP.DISP_YN = 'Y'
  353. AND CPC.MIN_PAY_AMT < G.CURR_PRICE
  354. GROUP BY G.GOODS_CD
  355. ;
  356. SELECT COUNT(*) FROM TB_EP_INTEREST_FREE_EVENT;
  357. /* TsbGoodsEp.deleteEpNaver */
  358. DELETE FROM TB_EP_NAVER WHERE GB = 'PREV';
  359. /* TsbGoodsEp.createPreviousEpNaver */
  360. INSERT INTO TB_EP_NAVER (
  361. GB
  362. , ID
  363. , TITLE
  364. , PRICE_PC
  365. , PRICE_MOBILE
  366. , NORMAL_PRICE
  367. , LINK
  368. , MOBILE_LINK
  369. , IMAGE_LINK
  370. , ADD_IMAGE_LINK
  371. , CATEGORY_NAME1
  372. , CATEGORY_NAME2
  373. , CATEGORY_NAME3
  374. , CATEGORY_NAME4
  375. , NAVER_CATEGORY
  376. , GOODS_GB_NM
  377. , IMPORT_FLAG
  378. , PARALLEL_IMPORT
  379. , ORDER_MADE
  380. , PRODUCT_FLAG
  381. , ADULT
  382. , MANUFACTURE_DEFINE_NUMBER
  383. , BRAND
  384. , MAKER
  385. , ORIGIN
  386. , CARD_EVENT
  387. , EVENT_WORDS
  388. , COUPON
  389. , PARTNER_COUPON_DOWNLOAD
  390. , INTEREST_FREE_EVENT
  391. , POINT
  392. , SEARCH_TAG
  393. , MINIMUM_PURCHASE_QUANTITY
  394. , REVIEW_COUNT
  395. , SHIPPING
  396. , AGE_GROUP
  397. , GENDER
  398. , UPD_GB
  399. , UPDATE_TIME
  400. )
  401. SELECT 'PREV' AS GB
  402. , ID
  403. , TITLE
  404. , PRICE_PC
  405. , PRICE_MOBILE
  406. , NORMAL_PRICE
  407. , LINK
  408. , MOBILE_LINK
  409. , IMAGE_LINK
  410. , ADD_IMAGE_LINK
  411. , CATEGORY_NAME1
  412. , CATEGORY_NAME2
  413. , CATEGORY_NAME3
  414. , CATEGORY_NAME4
  415. , NAVER_CATEGORY
  416. , GOODS_GB_NM
  417. , IMPORT_FLAG
  418. , PARALLEL_IMPORT
  419. , ORDER_MADE
  420. , PRODUCT_FLAG
  421. , ADULT
  422. , MANUFACTURE_DEFINE_NUMBER
  423. , BRAND
  424. , MAKER
  425. , ORIGIN
  426. , CARD_EVENT
  427. , EVENT_WORDS
  428. , COUPON
  429. , PARTNER_COUPON_DOWNLOAD
  430. , INTEREST_FREE_EVENT
  431. , POINT
  432. , SEARCH_TAG
  433. , MINIMUM_PURCHASE_QUANTITY
  434. , REVIEW_COUNT
  435. , SHIPPING
  436. , AGE_GROUP
  437. , GENDER
  438. , UPD_GB
  439. , UPDATE_TIME
  440. FROM TB_EP_NAVER
  441. WHERE GB = 'LAST'
  442. ;
  443. SELECT COUNT(*) FROM TB_EP_NAVER WHERE GB = 'PREV';
  444. /* TsbGoodsEp.deleteEpNaver */
  445. DELETE FROM TB_EP_NAVER WHERE GB = 'CURR';
  446. /* TsbGoodsEp.createEpNaver (2분 27초) */
  447. INSERT INTO TB_EP_NAVER (
  448. GB
  449. , ID
  450. , TITLE
  451. , PRICE_PC
  452. , PRICE_MOBILE
  453. , NORMAL_PRICE
  454. , LINK
  455. , MOBILE_LINK
  456. , IMAGE_LINK
  457. , ADD_IMAGE_LINK
  458. , CATEGORY_NAME1
  459. , CATEGORY_NAME2
  460. , CATEGORY_NAME3
  461. , CATEGORY_NAME4
  462. , NAVER_CATEGORY
  463. , GOODS_GB_NM
  464. , IMPORT_FLAG
  465. , PARALLEL_IMPORT
  466. , ORDER_MADE
  467. , PRODUCT_FLAG
  468. , ADULT
  469. , MANUFACTURE_DEFINE_NUMBER
  470. , BRAND
  471. , MAKER
  472. , ORIGIN
  473. , CARD_EVENT
  474. , EVENT_WORDS
  475. , COUPON
  476. , PARTNER_COUPON_DOWNLOAD
  477. , INTEREST_FREE_EVENT
  478. , POINT
  479. , SEARCH_TAG
  480. , MINIMUM_PURCHASE_QUANTITY
  481. , REVIEW_COUNT
  482. , SHIPPING
  483. , AGE_GROUP
  484. , GENDER
  485. , UPD_GB
  486. , UPDATE_TIME
  487. )
  488. SELECT 'CURR' AS GB /*구분(PREV:이전, CURR:현재)*/
  489. , G.GOODS_CD AS ID /*상품ID*/
  490. , SUBSTRING(CONCAT('[',CASE WHEN B.DISP_NM_LANG = 'EN' THEN B.BRAND_ENM ELSE B.BRAND_KNM END,'] ',
  491. G.GOODS_NM,
  492. IFNULL(G.GOODS_NUM,'')),1,100) AS TITLE /*상품명*/
  493. , IFNULL(GBP.PC_CURR_PRICE,G.CURR_PRICE) * G.MIN_ORD_QTY AS PRICE_PC /*즉시할인이적용된가격*/
  494. , IFNULL(GBP.MO_CURR_PRICE,G.CURR_PRICE) * G.MIN_ORD_QTY AS PRICE_MOBILE /*즉시할인이적용된가격*/
  495. , G.LIST_PRICE AS NORMAL_PRICE /*정상가*/
  496. , CONCAT('https://www.style24.com/goods/detail/form?goodsCd=',G.GOODS_CD) AS LINK /*PC상세URL*/
  497. , CONCAT('https://www.style24.com/goods/detail/form?goodsCd=',G.GOODS_CD) AS MOBILE_LINK /*모바일상세URL*/
  498. , GI.IMAGE_LINK /*이미지URL*/
  499. , GAI.ADD_IMAGE_LINK /*추가이미지URL(4개까지. |로 구분)*/
  500. , SUBSTRING_INDEX(I.ITEMKIND_NM,'>',1) AS CATEGORY_NAME1 /*카테고리명1*/
  501. , CASE WHEN SUBSTRING_INDEX(SUBSTRING_INDEX(I.ITEMKIND_NM,'>',1),'>',-1) = SUBSTRING_INDEX(SUBSTRING_INDEX(I.ITEMKIND_NM,'>',2),'>',-1) THEN
  502. NULL
  503. ELSE
  504. SUBSTRING_INDEX(SUBSTRING_INDEX(I.ITEMKIND_NM,'>',2),'>',-1)
  505. END AS CATEGORY_NAME2 /*카테고리명2*/
  506. , CASE WHEN SUBSTRING_INDEX(SUBSTRING_INDEX(I.ITEMKIND_NM,'>',2),'>',-1) = SUBSTRING_INDEX(SUBSTRING_INDEX(I.ITEMKIND_NM,'>',3),'>',-1) THEN
  507. NULL
  508. ELSE
  509. SUBSTRING_INDEX(SUBSTRING_INDEX(I.ITEMKIND_NM,'>',3),'>',-1)
  510. END AS CATEGORY_NAME3 /*카테고리명3*/
  511. , CASE WHEN SUBSTRING_INDEX(SUBSTRING_INDEX(I.ITEMKIND_NM,'>',3),'>',-1) = SUBSTRING_INDEX(SUBSTRING_INDEX(I.ITEMKIND_NM,'>',4),'>',-1) THEN
  512. NULL
  513. ELSE
  514. SUBSTRING_INDEX(SUBSTRING_INDEX(I.ITEMKIND_NM,'>',4),'>',-1)
  515. END AS CATEGORY_NAME4 /*카테고리명4*/
  516. , EC.EP_CATE_CD AS NAVER_CATEGORY /*네이버카테고리*/
  517. , CC1.CD_NM AS GOODS_GB_NM /*상품구분명*/
  518. , G.FOREIGN_BUY_YN AS IMPORT_FLAG /*해외구매대행여부*/
  519. , G.PARALLEL_IMPORT_YN AS PARALLEL_IMPORT /*병행수입여부*/
  520. , G.ORDER_MADE_YN AS ORDER_MADE /*주문제작상품여부*/
  521. , IF(GRS.GOODS_CD IS NULL,NULL,'예약판매') AS PRODUCT_FLAG /*예약판매*/
  522. , G.ADULT_YN AS ADULT /*성인여부*/
  523. , G.GOODS_NUM AS MANUFACTURE_DEFINE_NUMBER /*제품코드*/
  524. , IF(B.DISP_NM_LANG = 'EN',B.BRAND_ENM,B.BRAND_KNM) AS BRAND /*브랜드명*/
  525. , SUBSTRING(GNI.NI_CONTENT,1,50) AS MAKER /*제조사*/
  526. , CC2.CD_NM AS ORIGIN /*원산지*/
  527. , CE.CARD_EVENT /*카드행사*/
  528. , G.GOODS_TNM AS EVENT_WORDS /*상품셀링문구*/
  529. , TEC.COUPON /*쿠폰*/
  530. , IF(TEC.COUPON IS NULL,NULL,'Y') AS PARTNER_COUPON_DOWNLOAD /*쿠폰다운로드여부*/
  531. , IFE.INTEREST_FREE_EVENT /*무이자행사*/
  532. , CONCAT('스타일포인트','^',
  533. CAST(IFNULL(GBP.PC_CURR_PRICE,G.CURR_PRICE) * G.MIN_ORD_QTY * G.PNT_PRATE AS SIGNED INTEGER)
  534. ) AS PNT /*포인트*/
  535. , SUBSTRING(CONCAT(IFNULL(G.GOODS_SNM,''),
  536. CASE WHEN LENGTH(IFNULL(G.GOODS_SNM1,'')) = 0 THEN
  537. ''
  538. ELSE
  539. '|'
  540. END,
  541. IFNULL(G.GOODS_SNM1,'')
  542. ),1,100) AS SEARCH_TAG /*검색태그*/
  543. , CASE WHEN G.MIN_ORD_QTY > 0 THEN
  544. G.MIN_ORD_QTY
  545. ELSE
  546. NULL
  547. END AS MINIMUM_PURCHASE_QUANTITY /*최소구매금액*/
  548. , IFNULL(GS.REVIEW_REG_CNT,0) AS REVIEW_COUNT /*상품평수*/
  549. , IFNULL(CASE WHEN DFP.DELV_FEE_CRITE = 'G078_20' /*무료*/ THEN
  550. 0
  551. ELSE /*조건부무료 또는 유료*/
  552. CASE WHEN DFP.MIN_ORD_AMT <= IFNULL(GBP.PC_CURR_PRICE,G.CURR_PRICE) * G.MIN_ORD_QTY THEN
  553. 0
  554. ELSE
  555. DFP.DELV_FEE
  556. END
  557. END,0) AS SHIPPING /*배송료*/
  558. , CASE WHEN SUBSTRING(I.ITEMKIND_CD,1,2) = '07' THEN '유아'
  559. WHEN SUBSTRING(I.ITEMKIND_CD,1,2) IN ('08','09','10') THEN '아동'
  560. WHEN SUBSTRING(I.ITEMKIND_CD,1,2) IN ('11','12','13') THEN '청소년'
  561. ELSE '성인'
  562. END AS AGE_GROUP /*나이*/
  563. , CASE WHEN G.SEX_GB = 'G007_F' THEN '여성'
  564. WHEN G.SEX_GB = 'G007_M' THEN '남성'
  565. ELSE '남여공용'
  566. END AS GENDER /*성별*/
  567. , 'I' AS UPD_GB /*변경구분*/
  568. , DATE_FORMAT(NOW(),'%Y-%m-%d %H:%i:%S') AS UPDATE_TIME /*변경일시*/
  569. FROM TB_GOODS G
  570. INNER JOIN TB_BRAND B ON G.BRAND_CD = B.BRAND_CD
  571. INNER JOIN TB_ITEMKIND I ON G.ITEMKIND_CD = I.ITEMKIND_CD
  572. INNER JOIN TB_DELV_FEE_POLICY DFP ON G.DELV_FEE_CD = DFP.DELV_FEE_CD
  573. LEFT OUTER JOIN TB_GOODS_BENEFIT_PRICE GBP ON G.GOODS_CD = GBP.GOODS_CD
  574. LEFT OUTER JOIN TB_GOODS_SUMMARY GS ON G.GOODS_CD = GS.GOODS_CD
  575. LEFT OUTER JOIN TB_EP_GOODS_IMG GI ON G.GOODS_CD = GI.GOODS_CD
  576. LEFT OUTER JOIN TB_EP_GOODS_ADD_IMG GAI ON G.GOODS_CD = GAI.GOODS_CD
  577. LEFT OUTER JOIN (
  578. SELECT ITEMKIND_CD
  579. , MIN(EP_CATE_CD) AS EP_CATE_CD
  580. FROM TB_EP_CATE
  581. WHERE EP_GB = '10' /*네이버*/
  582. AND USE_YN = 'Y'
  583. GROUP BY ITEMKIND_CD
  584. ) EC ON G.ITEMKIND_CD = EC.ITEMKIND_CD
  585. LEFT OUTER JOIN TB_GOODS_RES_SELL GRS ON G.GOODS_CD = GRS.GOODS_CD
  586. AND GRS.DELV_RES_DT >= NOW()
  587. AND GRS.USE_YN = 'Y'
  588. LEFT OUTER JOIN TB_EP_CARD_EVENT CE ON G.GOODS_CD = CE.GOODS_CD
  589. LEFT OUTER JOIN TB_EP_COUPON TEC ON G.GOODS_CD = TEC.GOODS_CD
  590. LEFT OUTER JOIN TB_EP_INTEREST_FREE_EVENT IFE ON G.GOODS_CD = IFE.GOODS_CD
  591. LEFT OUTER JOIN TB_GOODS_NOTI_INFO GNI ON G.GOODS_CD = GNI.GOODS_CD
  592. AND GNI.NI_ITEM_CD = 'G005_005' /*제조사*/
  593. LEFT OUTER JOIN TB_COMMON_CODE CC1 ON G.GOODS_GB = CC1.CD
  594. AND CC1.CD_GB = 'G073'
  595. LEFT OUTER JOIN TB_COMMON_CODE CC2 ON G.ORIGIN_CD = CC2.CD
  596. AND CC2.CD_GB = 'G076'
  597. WHERE 1 = 1
  598. AND G.GOODS_STAT = 'G008_90' /*승인완료상품*/
  599. AND G.SELF_MALL_YN = 'Y' /*몰노출상품*/
  600. AND G.SELL_STDT <= NOW() /*유효한 판매기간*/
  601. AND G.SELL_EDDT >= NOW() /*유효한 판매기간*/
  602. AND G.ADULT_YN = 'N' /*성인상품아닌넘만*/
  603. -- AND G.UPD_DT >= DATE_ADD(NOW(), INTERVAL -2 HOUR) /*요약EP생성시사용*/
  604. ;
  605. SELECT COUNT(*) FROM TB_EP_NAVER WHERE GB = 'CURR';
  606. DELETE FROM TB_EP_NAVER WHERE GB = 'LAST';
  607. -- 최종 네이버 EP 생성 (55초)
  608. INSERT INTO TB_EP_NAVER (
  609. GB
  610. , ID
  611. , TITLE
  612. , PRICE_PC
  613. , PRICE_MOBILE
  614. , NORMAL_PRICE
  615. , LINK
  616. , MOBILE_LINK
  617. , IMAGE_LINK
  618. , ADD_IMAGE_LINK
  619. , CATEGORY_NAME1
  620. , CATEGORY_NAME2
  621. , CATEGORY_NAME3
  622. , CATEGORY_NAME4
  623. , NAVER_CATEGORY
  624. , GOODS_GB_NM
  625. , IMPORT_FLAG
  626. , PARALLEL_IMPORT
  627. , ORDER_MADE
  628. , PRODUCT_FLAG
  629. , ADULT
  630. , MANUFACTURE_DEFINE_NUMBER
  631. , BRAND
  632. , MAKER
  633. , ORIGIN
  634. , CARD_EVENT
  635. , EVENT_WORDS
  636. , COUPON
  637. , PARTNER_COUPON_DOWNLOAD
  638. , INTEREST_FREE_EVENT
  639. , POINT
  640. , SEARCH_TAG
  641. , MINIMUM_PURCHASE_QUANTITY
  642. , REVIEW_COUNT
  643. , SHIPPING
  644. , AGE_GROUP
  645. , GENDER
  646. , GOODS_STAT
  647. , SELF_MALL_YN
  648. , SELL_STDT
  649. , SELL_EDDT
  650. , UPD_GB
  651. , UPDATE_TIME
  652. )
  653. SELECT 'LAST' AS GB
  654. , ID
  655. , TITLE
  656. , PRICE_PC
  657. , PRICE_MOBILE
  658. , NORMAL_PRICE
  659. , LINK
  660. , MOBILE_LINK
  661. , IMAGE_LINK
  662. , ADD_IMAGE_LINK
  663. , CATEGORY_NAME1
  664. , CATEGORY_NAME2
  665. , CATEGORY_NAME3
  666. , CATEGORY_NAME4
  667. , NAVER_CATEGORY
  668. , GOODS_GB_NM
  669. , IMPORT_FLAG
  670. , PARALLEL_IMPORT
  671. , ORDER_MADE
  672. , PRODUCT_FLAG
  673. , ADULT
  674. , MANUFACTURE_DEFINE_NUMBER
  675. , BRAND
  676. , MAKER
  677. , ORIGIN
  678. , CARD_EVENT
  679. , EVENT_WORDS
  680. , COUPON
  681. , PARTNER_COUPON_DOWNLOAD
  682. , INTEREST_FREE_EVENT
  683. , POINT
  684. , SEARCH_TAG
  685. , MINIMUM_PURCHASE_QUANTITY
  686. , REVIEW_COUNT
  687. , SHIPPING
  688. , AGE_GROUP
  689. , GENDER
  690. , GOODS_STAT
  691. , SELF_MALL_YN
  692. , SELL_STDT
  693. , SELL_EDDT
  694. , UPD_GB
  695. , DATE_FORMAT(NOW(),'%Y-%m-%d %H:%i:%S') AS UPDATE_TIME /*변경일시*/
  696. FROM (
  697. /*신규 목록*/
  698. SELECT ID
  699. , TITLE
  700. , PRICE_PC
  701. , PRICE_MOBILE
  702. , NORMAL_PRICE
  703. , LINK
  704. , MOBILE_LINK
  705. , IMAGE_LINK
  706. , ADD_IMAGE_LINK
  707. , CATEGORY_NAME1
  708. , CATEGORY_NAME2
  709. , CATEGORY_NAME3
  710. , CATEGORY_NAME4
  711. , NAVER_CATEGORY
  712. , GOODS_GB_NM
  713. , IMPORT_FLAG
  714. , PARALLEL_IMPORT
  715. , ORDER_MADE
  716. , PRODUCT_FLAG
  717. , ADULT
  718. , MANUFACTURE_DEFINE_NUMBER
  719. , BRAND
  720. , MAKER
  721. , ORIGIN
  722. , CARD_EVENT
  723. , EVENT_WORDS
  724. , COUPON
  725. , PARTNER_COUPON_DOWNLOAD
  726. , INTEREST_FREE_EVENT
  727. , POINT
  728. , SEARCH_TAG
  729. , MINIMUM_PURCHASE_QUANTITY
  730. , REVIEW_COUNT
  731. , SHIPPING
  732. , AGE_GROUP
  733. , GENDER
  734. , GOODS_STAT
  735. , SELF_MALL_YN
  736. , SELL_STDT
  737. , SELL_EDDT
  738. , 'I' AS UPD_GB /*변경구분*/
  739. FROM TB_EP_NAVER X
  740. WHERE GB = 'CURR' /*현재데이터*/
  741. /*요약EP*/
  742. # AND NOT EXISTS (SELECT 1
  743. # FROM TB_EP_NAVER
  744. # WHERE GB = 'PREV' /*이전백업데이터*/
  745. # AND ID = X.ID
  746. # )
  747. # UNION ALL
  748. # -- 변경 목록
  749. # SELECT X.ID
  750. # , X.TITLE
  751. # , X.PRICE_PC
  752. # , X.PRICE_MOBILE
  753. # , X.NORMAL_PRICE
  754. # , X.LINK
  755. # , X.MOBILE_LINK
  756. # , X.IMAGE_LINK
  757. # , X.ADD_IMAGE_LINK
  758. # , X.CATEGORY_NAME1
  759. # , X.CATEGORY_NAME2
  760. # , X.CATEGORY_NAME3
  761. # , X.CATEGORY_NAME4
  762. # , X.NAVER_CATEGORY
  763. # , X.GOODS_GB_NM
  764. # , X.IMPORT_FLAG
  765. # , X.PARALLEL_IMPORT
  766. # , X.ORDER_MADE
  767. # , X.PRODUCT_FLAG
  768. # , X.ADULT
  769. # , X.MANUFACTURE_DEFINE_NUMBER
  770. # , X.BRAND
  771. # , X.MAKER
  772. # , X.ORIGIN
  773. # , X.CARD_EVENT
  774. # , X.EVENT_WORDS
  775. # , X.COUPON
  776. # , X.PARTNER_COUPON_DOWNLOAD
  777. # , X.INTEREST_FREE_EVENT
  778. # , X.POINT
  779. # , X.SEARCH_TAG
  780. # , X.MINIMUM_PURCHASE_QUANTITY
  781. # , X.REVIEW_COUNT
  782. # , X.SHIPPING
  783. # , X.AGE_GROUP
  784. # , X.GENDER
  785. # , X.GOODS_STAT
  786. # , X.SELF_MALL_YN
  787. # , X.SELL_STDT
  788. # , X.SELL_EDDT
  789. # , 'U' AS UPD_GB /*변경구분*/
  790. # FROM TB_EP_NAVER X
  791. # , TB_EP_NAVER Y
  792. # WHERE X.ID = Y.ID
  793. # AND X.GB = 'CURR' /*현재데이터*/
  794. # AND Y.GB = 'PREV' /*이전백업데이터*/
  795. # AND (
  796. # X.PRICE_PC != X.PRICE_PC OR
  797. # X.PRICE_MOBILE != X.PRICE_MOBILE OR
  798. # X.NORMAL_PRICE != X.NORMAL_PRICE OR
  799. # X.LINK != X.LINK OR
  800. # X.MOBILE_LINK != X.MOBILE_LINK OR
  801. # X.IMAGE_LINK != X.IMAGE_LINK OR
  802. # X.ADD_IMAGE_LINK != X.ADD_IMAGE_LINK OR
  803. # X.CATEGORY_NAME1 != X.CATEGORY_NAME1 OR
  804. # X.CATEGORY_NAME2 != X.CATEGORY_NAME2 OR
  805. # X.CATEGORY_NAME3 != X.CATEGORY_NAME3 OR
  806. # X.CATEGORY_NAME4 != X.CATEGORY_NAME4 OR
  807. # X.NAVER_CATEGORY != X.NAVER_CATEGORY OR
  808. # X.GOODS_GB_NM != X.GOODS_GB_NM OR
  809. # X.IMPORT_FLAG != X.IMPORT_FLAG OR
  810. # X.PARALLEL_IMPORT != X.PARALLEL_IMPORT OR
  811. # X.ORDER_MADE != X.ORDER_MADE OR
  812. # X.PRODUCT_FLAG != X.PRODUCT_FLAG OR
  813. # X.ADULT != X.ADULT OR
  814. # X.MANUFACTURE_DEFINE_NUMBER != X.MANUFACTURE_DEFINE_NUMBER OR
  815. # X.BRAND != X.BRAND OR
  816. # X.MAKER != X.MAKER OR
  817. # X.ORIGIN != X.ORIGIN OR
  818. # X.CARD_EVENT != X.CARD_EVENT OR
  819. # X.EVENT_WORDS != X.EVENT_WORDS OR
  820. # X.COUPON != X.COUPON OR
  821. # X.PARTNER_COUPON_DOWNLOAD != X.PARTNER_COUPON_DOWNLOAD OR
  822. # X.INTEREST_FREE_EVENT != X.INTEREST_FREE_EVENT OR
  823. # X.POINT != X.POINT OR
  824. # X.SEARCH_TAG != X.SEARCH_TAG OR
  825. # X.MINIMUM_PURCHASE_QUANTITY != X.MINIMUM_PURCHASE_QUANTITY OR
  826. # X.REVIEW_COUNT != X.REVIEW_COUNT OR
  827. # X.SHIPPING != X.SHIPPING OR
  828. # X.AGE_GROUP != X.AGE_GROUP OR
  829. # X.GENDER != X.GENDER
  830. # )
  831. # UNION ALL
  832. # -- 삭제된 목록
  833. # SELECT X.ID
  834. # , X.TITLE
  835. # , X.PRICE_PC
  836. # , X.PRICE_MOBILE
  837. # , X.NORMAL_PRICE
  838. # , X.LINK
  839. # , X.MOBILE_LINK
  840. # , X.IMAGE_LINK
  841. # , X.ADD_IMAGE_LINK
  842. # , X.CATEGORY_NAME1
  843. # , X.CATEGORY_NAME2
  844. # , X.CATEGORY_NAME3
  845. # , X.CATEGORY_NAME4
  846. # , X.NAVER_CATEGORY
  847. # , X.GOODS_GB_NM
  848. # , X.IMPORT_FLAG
  849. # , X.PARALLEL_IMPORT
  850. # , X.ORDER_MADE
  851. # , X.PRODUCT_FLAG
  852. # , X.ADULT
  853. # , X.MANUFACTURE_DEFINE_NUMBER
  854. # , X.BRAND
  855. # , X.MAKER
  856. # , X.ORIGIN
  857. # , X.CARD_EVENT
  858. # , X.EVENT_WORDS
  859. # , X.COUPON
  860. # , X.PARTNER_COUPON_DOWNLOAD
  861. # , X.INTEREST_FREE_EVENT
  862. # , X.POINT
  863. # , X.SEARCH_TAG
  864. # , X.MINIMUM_PURCHASE_QUANTITY
  865. # , X.REVIEW_COUNT
  866. # , X.SHIPPING
  867. # , X.AGE_GROUP
  868. # , X.GENDER
  869. # , X.GOODS_STAT
  870. # , X.SELF_MALL_YN
  871. # , X.SELL_STDT
  872. # , X.SELL_EDDT
  873. # , 'D' AS UPD_GB /*변경구분*/
  874. # FROM TB_EP_NAVER X
  875. # , TB_EP_NAVER Y
  876. # WHERE X.ID = Y.ID
  877. # AND X.GB = 'CURR' /*현재데이터*/
  878. # AND Y.GB = 'PREV' /*이전백업데이터*/
  879. # AND (
  880. # (Y.GOODS_STAT != 'G008_70' AND X.GOODS_STAT = 'G008_70')
  881. # OR
  882. # (Y.SELF_MALL_YN = 'Y' AND X.SELF_MALL_YN = 'N')
  883. # OR
  884. # (Y.SELL_EDDT != X.SELL_EDDT AND Y.SELL_EDDT < NOW())
  885. # )
  886. ) X
  887. ;
  888. SELECT COUNT(*) FROM TB_EP_NAVER WHERE GB = 'LAST';
  889. /* TsbGoodsEp.getNaverAllEpList */
  890. SELECT ID
  891. , TITLE
  892. , PRICE_PC
  893. , PRICE_MOBILE
  894. , NORMAL_PRICE
  895. , LINK
  896. , MOBILE_LINK
  897. , IMAGE_LINK
  898. , ADD_IMAGE_LINK
  899. , CATEGORY_NAME1
  900. , CATEGORY_NAME2
  901. , CATEGORY_NAME3
  902. , CATEGORY_NAME4
  903. , NAVER_CATEGORY
  904. , GOODS_GB_NM
  905. , IMPORT_FLAG
  906. , PARALLEL_IMPORT
  907. , ORDER_MADE
  908. , PRODUCT_FLAG
  909. , ADULT
  910. , MANUFACTURE_DEFINE_NUMBER
  911. , BRAND
  912. , MAKER
  913. , ORIGIN
  914. , CARD_EVENT
  915. , EVENT_WORDS
  916. , COUPON
  917. , PARTNER_COUPON_DOWNLOAD
  918. , INTEREST_FREE_EVENT
  919. , POINT
  920. , SEARCH_TAG
  921. , MINIMUM_PURCHASE_QUANTITY
  922. , REVIEW_COUNT
  923. , SHIPPING
  924. , AGE_GROUP
  925. , GENDER
  926. , UPD_GB
  927. , UPDATE_TIME
  928. FROM TB_EP_NAVER
  929. WHERE GB = 'LAST'
  930. ;