다음EP생성_20210614.sql 22 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585
  1. ################################################################################
  2. #EP다음
  3. ################################################################################
  4. DROP TABLE IF EXISTS TB_EP_DAUM RESTRICT;
  5. CREATE TABLE TB_EP_DAUM (
  6. GB VARCHAR(4) NOT NULL COMMENT '구분(PREV:이전, CURR:현재)',
  7. MAPID VARCHAR(20) NOT NULL COMMENT '상품코드(상품)',
  8. LPRICE INT UNSIGNED COMMENT '정상가',
  9. PRICE INT UNSIGNED COMMENT 'PC가격',
  10. MPRIC INT UNSIGNED COMMENT '모바일가격',
  11. PNAME VARCHAR(100) COMMENT '상품명([상품구분명]+[브랜드명]+상품명+상품코드 형식)',
  12. PGURL VARCHAR(200) COMMENT 'PC상품상세URL',
  13. IGURL VARCHAR(200) COMMENT '이미지링크',
  14. UPIMG VARCHAR(1) DEFAULT 'N' COMMENT '전체EP생성 이후 이미지변경되었을때전송(Y/N)',
  15. CATE1 VARCHAR(50) COMMENT '카테고리명1',
  16. CAID1 VARCHAR(10) COMMENT '카테고리ID1',
  17. CATE2 VARCHAR(50) COMMENT '카테고리명2',
  18. CAID2 VARCHAR(10) COMMENT '카테고리ID2',
  19. CATE3 VARCHAR(50) COMMENT '카테고리명3',
  20. CAID3 VARCHAR(10) COMMENT '카테고리ID3',
  21. CATE4 VARCHAR(50) COMMENT '카테고리명4',
  22. CAID4 VARCHAR(10) COMMENT '카테고리ID4',
  23. MODEL VARCHAR(20) COMMENT '모델(품번)',
  24. BRAND VARCHAR(50) COMMENT '브랜드명',
  25. MAKER VARCHAR(50) COMMENT '제조사',
  26. COUPON VARCHAR(100) COMMENT '할인쿠폰정보(일반쿠폰^정율제휴쿠폰^정액제휴쿠폰 형식. 일반쿠폰은 최대할인기준 1개)',
  27. MCOUPON VARCHAR(100) COMMENT '할인쿠폰정보(일반쿠폰^정율제휴쿠폰^정액제휴쿠폰 형식. 일반쿠폰은 최대할인기준 1개)',
  28. PCARD VARCHAR(100) COMMENT '무이자행사(카드명^개월수-개월수|카드명^개월수-개월수... 형식)',
  29. POINT VARCHAR(10) COMMENT '포인트율',
  30. DELIV INT UNSIGNED COMMENT '배송료',
  31. DELIVTERM INT UNSIGNED COMMENT '배송기간',
  32. RATING VARCHAR(20) COMMENT '상품평점수(4.5/5 형식)',
  33. REVCT INT UNSIGNED COMMENT '상품평수',
  34. EVENT VARCHAR(100) COMMENT '상품타이틀명(세일링문구)',
  35. CARDDN VARCHAR(100) COMMENT '카드행사(카드즉시할인 등록된 기준으로 적용. 카드명^카드적용가|카드명^카드적용가... 형식)',
  36. CARDP INT UNSIGNED COMMENT '카드적용가(최대1개)',
  37. ADULT VARCHAR(1) COMMENT '성인상품여부',
  38. PUBDATE VARCHAR(8) COMMENT '상품등록일',
  39. GOODS_STAT VARCHAR(20) COMMENT '상품상태(공통코드G008)',
  40. SELF_MALL_YN CHAR(1) COMMENT '자사몰노출여부',
  41. SELL_STDT DATETIME COMMENT '판매시작일시',
  42. SELL_EDDT DATETIME COMMENT '판매종료일시',
  43. UPD_GB VARCHAR(1) COMMENT '업데이트구분(I:신규상품, U:기존상품중업데이트된상품 또는 품절되었다가다시서비스되는상품, D:품절상품)',
  44. UTIME VARCHAR(20) COMMENT '업데이트시간(YYYYMMDDHHMMSS 형식)'
  45. )
  46. COMMENT 'EP다음. EP다음 생성에 의한 발생';
  47. CREATE UNIQUE INDEX IX_EP_DAUM_01
  48. ON TB_EP_DAUM (
  49. GB, MAPID
  50. );
  51. -- EP다음 정보 삭제
  52. DELETE FROM TB_EP_DAUM WHERE GB = 'PREV';
  53. -- EP다음 이전 데이터로 백업
  54. INSERT INTO TB_EP_DAUM (
  55. GB
  56. , MAPID
  57. , LPRICE
  58. , PRICE
  59. , MPRIC
  60. , PNAME
  61. , PGURL
  62. , IGURL
  63. , CATE1
  64. , CAID1
  65. , CATE2
  66. , CAID2
  67. , CATE3
  68. , CAID3
  69. , CATE4
  70. , CAID4
  71. , MODEL
  72. , BRAND
  73. , MAKER
  74. , COUPON
  75. , MCOUPON
  76. , PCARD
  77. , POINT
  78. , DELIV
  79. , DELIVTERM
  80. , RATING
  81. , REVCT
  82. , EVENT
  83. , CARDDN
  84. , CARDP
  85. , ADULT
  86. , PUBDATE
  87. , GOODS_STAT
  88. , SELF_MALL_YN
  89. , SELL_STDT
  90. , SELL_EDDT
  91. )
  92. SELECT 'PREV' AS GB
  93. , MAPID
  94. , LPRICE
  95. , PRICE
  96. , MPRIC
  97. , PNAME
  98. , PGURL
  99. , IGURL
  100. , CATE1
  101. , CAID1
  102. , CATE2
  103. , CAID2
  104. , CATE3
  105. , CAID3
  106. , CATE4
  107. , CAID4
  108. , MODEL
  109. , BRAND
  110. , MAKER
  111. , COUPON
  112. , MCOUPON
  113. , PCARD
  114. , POINT
  115. , DELIV
  116. , DELIVTERM
  117. , RATING
  118. , REVCT
  119. , EVENT
  120. , CARDDN
  121. , CARDP
  122. , ADULT
  123. , PUBDATE
  124. , GOODS_STAT
  125. , SELF_MALL_YN
  126. , SELL_STDT
  127. , SELL_EDDT
  128. FROM TB_EP_DAUM
  129. WHERE GB = 'LAST'
  130. ;
  131. -- EP다음 현재 데이터 생성 (2분 6초)
  132. INSERT INTO TB_EP_DAUM (
  133. GB
  134. , MAPID
  135. , LPRICE
  136. , PRICE
  137. , MPRIC
  138. , PNAME
  139. , PGURL
  140. , IGURL
  141. , CATE1
  142. , CAID1
  143. , CATE2
  144. , CAID2
  145. , CATE3
  146. , CAID3
  147. , CATE4
  148. , CAID4
  149. , MODEL
  150. , BRAND
  151. , MAKER
  152. , COUPON
  153. , MCOUPON
  154. , PCARD
  155. , POINT
  156. , DELIV
  157. , DELIVTERM
  158. , RATING
  159. , REVCT
  160. , EVENT
  161. , CARDDN
  162. , CARDP
  163. , ADULT
  164. , PUBDATE
  165. , GOODS_STAT
  166. , SELF_MALL_YN
  167. , SELL_STDT
  168. , SELL_EDDT
  169. )
  170. SELECT 'CURR' AS GB /*구분(PREV:이전, CURR:현재)*/
  171. , G.GOODS_CD AS MAPID /*상품ID*/
  172. , G.LIST_PRICE AS LPRICE /*정상가*/
  173. , IFNULL(GBP.PC_CURR_PRICE,G.CURR_PRICE) * G.MIN_ORD_QTY AS PRICE /*즉시할인이적용된가격*/
  174. , IFNULL(GBP.MO_CURR_PRICE,G.CURR_PRICE) * G.MIN_ORD_QTY AS MPRIC /*즉시할인이적용된가격*/
  175. , SUBSTRING(CONCAT(CASE WHEN CC1.CD IN ('G073_12','G073_13') THEN CONCAT('[',CC1.CD_NM,']')
  176. WHEN G.FOREIGN_BUY_YN = 'Y' THEN '[해외]'
  177. ELSE ''
  178. END,
  179. '[',CASE WHEN B.DISP_NM_LANG = 'EN' THEN B.BRAND_ENM ELSE B.BRAND_KNM END,'] ',
  180. G.GOODS_NM,
  181. IFNULL(G.GOODS_NUM,'')),1,100) AS PNAME /*상품명*/
  182. , CONCAT('https://www.style24.com/goods/detail/form?goodsCd=',G.GOODS_CD) AS PGURL /*PC상세URL*/
  183. , GI.IMAGE_LINK AS IGURL /*이미지URL*/
  184. , SUBSTRING_INDEX(I.ITEMKIND_NM,'>',1) AS CATE1 /*카테고리명1*/
  185. , SUBSTRING(G.ITEMKIND_CD,1,2) AS CAID1 /*카테고리ID1*/
  186. , CASE WHEN SUBSTRING_INDEX(SUBSTRING_INDEX(I.ITEMKIND_NM,'>',1),'>',-1) = SUBSTRING_INDEX(SUBSTRING_INDEX(I.ITEMKIND_NM,'>',2),'>',-1) THEN
  187. NULL
  188. ELSE
  189. SUBSTRING_INDEX(SUBSTRING_INDEX(I.ITEMKIND_NM,'>',2),'>',-1)
  190. END AS CATE2 /*카테고리명2*/
  191. , SUBSTRING(G.ITEMKIND_CD,3,2) AS CAID2 /*카테고리ID2*/
  192. , CASE WHEN SUBSTRING_INDEX(SUBSTRING_INDEX(I.ITEMKIND_NM,'>',2),'>',-1) = SUBSTRING_INDEX(SUBSTRING_INDEX(I.ITEMKIND_NM,'>',3),'>',-1) THEN
  193. NULL
  194. ELSE
  195. SUBSTRING_INDEX(SUBSTRING_INDEX(I.ITEMKIND_NM,'>',3),'>',-1)
  196. END AS CATE3 /*카테고리명3*/
  197. , SUBSTRING(G.ITEMKIND_CD,5,2) AS CAID3 /*카테고리ID3*/
  198. , CASE WHEN SUBSTRING_INDEX(SUBSTRING_INDEX(I.ITEMKIND_NM,'>',3),'>',-1) = SUBSTRING_INDEX(SUBSTRING_INDEX(I.ITEMKIND_NM,'>',4),'>',-1) THEN
  199. NULL
  200. ELSE
  201. SUBSTRING_INDEX(SUBSTRING_INDEX(I.ITEMKIND_NM,'>',4),'>',-1)
  202. END AS CATE4 /*카테고리명4*/
  203. , SUBSTRING(G.ITEMKIND_CD,7,2) AS CAID4 /*카테고리ID4*/
  204. , G.GOODS_NUM AS MODEL /*모델(품번)*/
  205. , IF(B.DISP_NM_LANG = 'EN',B.BRAND_ENM,B.BRAND_KNM) AS BRAND /*브랜드명*/
  206. , SUBSTRING(GNI.NI_CONTENT,1,50) AS MAKER /*제조사*/
  207. , TEC.COUPON /*쿠폰*/
  208. , TEC.COUPON AS MCOUPON /*모바일쿠폰*/
  209. , IFE.INTEREST_FREE_EVENT AS PCARD /*무이자행사*/
  210. , CONCAT('',G.PNT_PRATE) AS POINT /*포인트율*/
  211. , IFNULL(CASE WHEN DFP.DELV_FEE_CRITE = 'G078_20' /*무료*/ THEN
  212. 0
  213. ELSE /*조건부무료 또는 유료*/
  214. CASE WHEN DFP.MIN_ORD_AMT <= IFNULL(GBP.PC_CURR_PRICE,G.CURR_PRICE) * G.MIN_ORD_QTY THEN
  215. 0
  216. ELSE
  217. DFP.DELV_FEE
  218. END
  219. END,0) AS DELIV /*배송료*/
  220. , CASE WHEN G.SELF_GOODS_YN = 'Y' THEN 1 ELSE 3 END AS DELIVTERM /*배송기간(자사상품:1일,입점상품:3일)*/
  221. , CASE WHEN GS.SCORE IS NULL OR GS.SCORE = 0.0 THEN ''
  222. ELSE CONCAT(IFNULL(GS.SCORE,0),'/',5)
  223. END AS RATING /*상품평평점*/
  224. , IFNULL(GS.REVIEW_REG_CNT,0) AS REVCT /*상품평수*/
  225. , G.GOODS_TNM AS EVENT /*상품셀링문구*/
  226. , SUBSTRING_INDEX(SUBSTRING_INDEX(CE.CARD_EVENT,'|',1),'^',1) AS CARDDN /*카드행사*/
  227. , SUBSTRING(SUBSTRING_INDEX(CE.CARD_EVENT,'|',1),INSTR(SUBSTRING_INDEX(CE.CARD_EVENT,'|',1),'^') + 1) AS CARDP /*카드할인가*/
  228. , G.ADULT_YN AS ADULT /*성인여부*/
  229. , DATE_FORMAT(G.REG_DT,'%Y%m%d') AS PUBDATE /*등록일*/
  230. , G.GOODS_STAT
  231. , G.SELF_MALL_YN
  232. , G.SELL_STDT
  233. , G.SELL_EDDT
  234. FROM TB_GOODS G
  235. INNER JOIN TB_BRAND B ON G.BRAND_CD = B.BRAND_CD
  236. INNER JOIN TB_ITEMKIND I ON G.ITEMKIND_CD = I.ITEMKIND_CD
  237. INNER JOIN TB_DELV_FEE_POLICY DFP ON G.DELV_FEE_CD = DFP.DELV_FEE_CD
  238. LEFT OUTER JOIN TB_GOODS_BENEFIT_PRICE GBP ON G.GOODS_CD = GBP.GOODS_CD
  239. LEFT OUTER JOIN TB_GOODS_SUMMARY GS ON G.GOODS_CD = GS.GOODS_CD
  240. LEFT OUTER JOIN TB_EP_GOODS_IMG GI ON G.GOODS_CD = GI.GOODS_CD
  241. LEFT OUTER JOIN TB_EP_GOODS_ADD_IMG GAI ON G.GOODS_CD = GAI.GOODS_CD
  242. LEFT OUTER JOIN (
  243. SELECT ITEMKIND_CD
  244. , MIN(EP_CATE_CD) AS EP_CATE_CD
  245. FROM TB_EP_CATE
  246. WHERE EP_GB = '10' /*네이버*/
  247. AND USE_YN = 'Y'
  248. GROUP BY ITEMKIND_CD
  249. ) EC ON G.ITEMKIND_CD = EC.ITEMKIND_CD
  250. LEFT OUTER JOIN TB_GOODS_RES_SELL GRS ON G.GOODS_CD = GRS.GOODS_CD
  251. AND GRS.DELV_RES_DT >= NOW()
  252. AND GRS.USE_YN = 'Y'
  253. LEFT OUTER JOIN TB_EP_CARD_EVENT CE ON G.GOODS_CD = CE.GOODS_CD
  254. LEFT OUTER JOIN TB_EP_COUPON TEC ON G.GOODS_CD = TEC.GOODS_CD
  255. LEFT OUTER JOIN TB_EP_INTEREST_FREE_EVENT IFE ON G.GOODS_CD = IFE.GOODS_CD
  256. LEFT OUTER JOIN TB_GOODS_NOTI_INFO GNI ON G.GOODS_CD = GNI.GOODS_CD
  257. AND GNI.NI_ITEM_CD = 'G005_005' /*제조사*/
  258. LEFT OUTER JOIN TB_COMMON_CODE CC1 ON G.GOODS_GB = CC1.CD
  259. AND CC1.CD_GB = 'G073'
  260. LEFT OUTER JOIN TB_COMMON_CODE CC2 ON G.ORIGIN_CD = CC2.CD
  261. AND CC2.CD_GB = 'G076'
  262. WHERE 1 = 1
  263. AND G.GOODS_STAT = 'G008_90' /*승인완료상품*/
  264. AND G.SELF_MALL_YN = 'Y' /*몰노출상품*/
  265. AND G.SELL_STDT <= NOW() /*유효한 판매기간*/
  266. AND G.SELL_EDDT >= NOW() /*유효한 판매기간*/
  267. AND G.ADULT_YN = 'N' /*성인상품아닌넘만*/
  268. -- AND G.UPD_DT >= DATE_ADD(NOW(), INTERVAL -7 HOUR) -- 요약EP
  269. ;
  270. -- 최종 EP다음 데이터 생성 (45초)
  271. INSERT INTO TB_EP_DAUM (
  272. GB
  273. , MAPID
  274. , LPRICE
  275. , PRICE
  276. , MPRIC
  277. , PNAME
  278. , PGURL
  279. , IGURL
  280. , UPIMG
  281. , CATE1
  282. , CAID1
  283. , CATE2
  284. , CAID2
  285. , CATE3
  286. , CAID3
  287. , CATE4
  288. , CAID4
  289. , MODEL
  290. , BRAND
  291. , MAKER
  292. , COUPON
  293. , MCOUPON
  294. , PCARD
  295. , POINT
  296. , DELIV
  297. , DELIVTERM
  298. , RATING
  299. , REVCT
  300. , EVENT
  301. , CARDDN
  302. , CARDP
  303. , ADULT
  304. , PUBDATE
  305. , GOODS_STAT
  306. , SELF_MALL_YN
  307. , SELL_STDT
  308. , SELL_EDDT
  309. , UPD_GB
  310. , UTIME
  311. )
  312. SELECT 'LAST' AS GB
  313. , MAPID
  314. , LPRICE
  315. , PRICE
  316. , MPRIC
  317. , PNAME
  318. , PGURL
  319. , IGURL
  320. , UPIMG
  321. , CATE1
  322. , CAID1
  323. , CATE2
  324. , CAID2
  325. , CATE3
  326. , CAID3
  327. , CATE4
  328. , CAID4
  329. , MODEL
  330. , BRAND
  331. , MAKER
  332. , COUPON
  333. , MCOUPON
  334. , PCARD
  335. , POINT
  336. , DELIV
  337. , DELIVTERM
  338. , RATING
  339. , REVCT
  340. , EVENT
  341. , CARDDN
  342. , CARDP
  343. , ADULT
  344. , PUBDATE
  345. , GOODS_STAT
  346. , SELF_MALL_YN
  347. , SELL_STDT
  348. , SELL_EDDT
  349. , UPD_GB
  350. , DATE_FORMAT(NOW(),'%Y%m%d%H%i%S') AS UTIME
  351. FROM (
  352. /*신규 목록*/
  353. SELECT MAPID
  354. , LPRICE
  355. , PRICE
  356. , MPRIC
  357. , PNAME
  358. , PGURL
  359. , IGURL
  360. , 'N' AS UPIMG
  361. , CATE1
  362. , CAID1
  363. , CATE2
  364. , CAID2
  365. , CATE3
  366. , CAID3
  367. , CATE4
  368. , CAID4
  369. , MODEL
  370. , BRAND
  371. , MAKER
  372. , COUPON
  373. , MCOUPON
  374. , PCARD
  375. , POINT
  376. , DELIV
  377. , DELIVTERM
  378. , RATING
  379. , REVCT
  380. , EVENT
  381. , CARDDN
  382. , CARDP
  383. , ADULT
  384. , PUBDATE
  385. , GOODS_STAT
  386. , SELF_MALL_YN
  387. , SELL_STDT
  388. , SELL_EDDT
  389. , 'I' AS UPD_GB /*변경구분*/
  390. FROM TB_EP_DAUM X
  391. WHERE GB = 'CURR' /*현재데이터*/
  392. -- 요약EP
  393. -- AND NOT EXISTS (SELECT 1
  394. -- FROM TB_EP_DAUM
  395. -- WHERE GB = 'PREV' /*이전백업데이터*/
  396. -- AND ID = X.ID
  397. -- UNION ALL
  398. -- /*변경 목록*/
  399. -- SELECT X.MAPID
  400. -- , X.LPRICE
  401. -- , X.PRICE
  402. -- , X.MPRIC
  403. -- , X.PNAME
  404. -- , X.PGURL
  405. -- , X.IGURL
  406. -- , CASE WHEN X.IGURL != Y.IGURL THEN 'Y' ELSE 'N' END AS UPIMG
  407. -- , X.CATE1
  408. -- , X.CAID1
  409. -- , X.CATE2
  410. -- , X.CAID2
  411. -- , X.CATE3
  412. -- , X.CAID3
  413. -- , X.CATE4
  414. -- , X.CAID4
  415. -- , X.MODEL
  416. -- , X.BRAND
  417. -- , X.MAKER
  418. -- , X.COUPON
  419. -- , X.MCOUPON
  420. -- , X.PCARD
  421. -- , X.POINT
  422. -- , X.DELIV
  423. -- , X.DELIVTERM
  424. -- , X.RATING
  425. -- , X.REVCT
  426. -- , X.EVENT
  427. -- , X.CARDDN
  428. -- , X.CARDP
  429. -- , X.ADULT
  430. -- , X.PUBDATE
  431. -- , X.GOODS_STAT
  432. -- , X.SELF_MALL_YN
  433. -- , X.SELL_STDT
  434. -- , X.SELL_EDDT
  435. -- , 'U' AS UPD_GB /*변경구분*/
  436. -- FROM TB_EP_DAUM X
  437. -- , TB_EP_DAUM Y
  438. -- WHERE X.ID = Y.ID
  439. -- AND X.GB = 'CURR' /*현재데이터*/
  440. -- AND Y.GB = 'PREV' /*이전백업데이터*/
  441. -- AND (
  442. -- X.MAPID != Y.MAPID OR
  443. -- X.LPRICE != Y.LPRICE OR
  444. -- X.PRICE != Y.PRICE OR
  445. -- X.MPRIC != Y.MPRIC OR
  446. -- X.PNAME != Y.PNAME OR
  447. -- X.PGURL != Y.PGURL OR
  448. -- X.IGURL != Y.IGURL OR
  449. -- X.CATE1 != Y.CATE1 OR
  450. -- X.CAID1 != Y.CAID1 OR
  451. -- X.CATE2 != Y.CATE2 OR
  452. -- X.CAID2 != Y.CAID2 OR
  453. -- X.CATE3 != Y.CATE3 OR
  454. -- X.CAID3 != Y.CAID3 OR
  455. -- X.CATE4 != Y.CATE4 OR
  456. -- X.CAID4 != Y.CAID4 OR
  457. -- X.MODEL != Y.MODEL OR
  458. -- X.BRAND != Y.BRAND OR
  459. -- X.MAKER != Y.MAKER OR
  460. -- X.COUPON != Y.COUPON OR
  461. -- X.MCOUPON != Y.MCOUPON OR
  462. -- X.PCARD != Y.PCARD OR
  463. -- X.POINT != Y.POINT OR
  464. -- X.DELIV != Y.DELIV OR
  465. -- X.DELIVTERM != Y.DELIVTERM OR
  466. -- X.RATING != Y.RATING OR
  467. -- X.REVCT != Y.REVCT OR
  468. -- X.EVENT != Y.EVENT OR
  469. -- X.CARDDN != Y.CARDDN OR
  470. -- X.CARDP != Y.CARDP OR
  471. -- X.ADULT != Y.ADULT OR
  472. -- X.PUBDATE != Y.PUBDATE
  473. -- )
  474. -- UNION ALL
  475. -- /*삭제된 목록*/
  476. -- SELECT X.MAPID
  477. -- , X.LPRICE
  478. -- , X.PRICE
  479. -- , X.MPRIC
  480. -- , X.PNAME
  481. -- , X.PGURL
  482. -- , X.IGURL
  483. -- , CASE WHEN X.IGURL != Y.IGURL THEN 'Y' ELSE 'N' END AS UPIMG
  484. -- , X.CATE1
  485. -- , X.CAID1
  486. -- , X.CATE2
  487. -- , X.CAID2
  488. -- , X.CATE3
  489. -- , X.CAID3
  490. -- , X.CATE4
  491. -- , X.CAID4
  492. -- , X.MODEL
  493. -- , X.BRAND
  494. -- , X.MAKER
  495. -- , X.COUPON
  496. -- , X.MCOUPON
  497. -- , X.PCARD
  498. -- , X.POINT
  499. -- , X.DELIV
  500. -- , X.DELIVTERM
  501. -- , X.RATING
  502. -- , X.REVCT
  503. -- , X.EVENT
  504. -- , X.CARDDN
  505. -- , X.CARDP
  506. -- , X.ADULT
  507. -- , X.PUBDATE
  508. -- , X.GOODS_STAT
  509. -- , X.SELF_MALL_YN
  510. -- , X.SELL_STDT
  511. -- , X.SELL_EDDT
  512. -- , 'D' AS UPD_GB /*변경구분*/
  513. -- FROM TB_EP_DAUM X
  514. -- , TB_EP_DAUM Y
  515. -- WHERE X.ID = Y.ID
  516. -- AND X.GB = 'CURR' /*현재데이터*/
  517. -- AND Y.GB = 'PREV' /*이전백업데이터*/
  518. -- AND (
  519. -- (Y.GOODS_STAT != 'G008_70' AND X.GOODS_STAT = 'G008_70')
  520. -- OR
  521. -- (Y.SELF_MALL_YN = 'Y' AND X.SELF_MALL_YN = 'N')
  522. -- OR
  523. -- (Y.SELL_EDDT != X.SELL_EDDT AND Y.SELL_EDDT < NOW())
  524. -- )
  525. ) X
  526. ;
  527. -- 다음 EP 목록
  528. SELECT IFNULL(MAPID,'') AS MAPID
  529. , LPRICE
  530. , PRICE
  531. , MPRIC
  532. , IFNULL(PNAME,'') AS PNAME
  533. , IFNULL(PGURL,'') AS PGURL
  534. , IFNULL(IGURL,'') AS IGURL
  535. , IFNULL(UPIMG,'') AS UPIMG
  536. , IFNULL(CATE1,'') AS CATE1
  537. , IFNULL(CAID1,'') AS CAID1
  538. , IFNULL(CATE2,'') AS CATE2
  539. , IFNULL(CAID2,'') AS CAID2
  540. , IFNULL(CATE3,'') AS CATE3
  541. , IFNULL(CAID3,'') AS CAID3
  542. , IFNULL(CATE4,'') AS CATE4
  543. , IFNULL(CAID4,'') AS CAID4
  544. , IFNULL(MODEL,'') AS MODEL
  545. , IFNULL(BRAND,'') AS BRAND
  546. , IFNULL(MAKER,'') AS MAKER
  547. , IFNULL(COUPON,'') AS COUPON
  548. , IFNULL(MCOUPON,'') AS MCOUPON
  549. , IFNULL(PCARD,'') AS PCARD
  550. , IFNULL(POINT,'') AS POINT
  551. , IFNULL(DELIV,'') AS DELIV
  552. , IFNULL(DELIVTERM,'') AS DELIVTERM
  553. , IFNULL(RATING,'') AS RATING
  554. , IFNULL(REVCT,'') AS REVCT
  555. , IFNULL(EVENT,'') AS EVENT
  556. , IFNULL(CARDDN,'') AS CARDDN
  557. , IFNULL(CARDP,'') AS CARDP
  558. , IFNULL(ADULT,'') AS ADULT
  559. , IFNULL(PUBDATE,'') AS PUBDATE
  560. FROM TB_EP_DAUM
  561. WHERE GB = 'LAST'
  562. ;
  563. -- 다음 상품평EP 목록
  564. SELECT R.GOODS_CD AS MAPID /*상품ID*/
  565. , R.REVIEW_SQ AS REVIEWID /*상품평ID*/
  566. , CASE WHEN R.DISP_YN = 'N' OR R.DEL_YN = 'Y' THEN 'D'
  567. ELSE 'S'
  568. END AS STATUS /*상품평상태(S:정상, D:삭제)*/
  569. , R.REVIEW_TITLE AS TITLE /*상품평제목*/
  570. , SUBSTRING(R.REVIEW_CONTENT,1,250) AS CONTENT /*상품평내용(250자이내)*/
  571. , C.CUST_NM AS WRITER
  572. , DATE_FORMAT(R.REG_DT,'%Y%m%d%H%i%S') AS CDATE /*상품평작성일시*/
  573. , R.SCORE AS RATING /*상품평점수*/
  574. FROM TB_REVIEW R
  575. , TB_CUSTOMER C
  576. WHERE R.REG_NO = C.CUST_NO
  577. AND R.CONFIRM_YN = 'Y' /*컨펌된넘*/
  578. ;