Advertisement
jul_tanuwijaya

Untitled

Jul 2nd, 2018
84
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. ------------------------------------------------------------------------
  2. -- USER DATA INITIALIZATION
  3. ------------------------------------------------------------------------
  4.  
  5. CREATE TABLE tt_change_product_category_2018
  6. (
  7.     old_gender_name character varying(100),
  8.     old_category_name character varying(100),
  9.     old_type_name character varying(100),
  10.     new_level0 character varying(100),
  11.     new_level1 character varying(100),
  12.     new_level2 character varying(100),
  13.     new_level3 character varying(100)
  14. ) WITH (
  15.     OIDS=FALSE
  16. );
  17.  
  18. INSERT INTO tt_change_product_category_2018 (old_gender_name, old_category_name, old_type_name, new_level0, new_level1, new_level2, new_level3) VALUES
  19. ('LADIES APPAREL','CASUAL LADIES','BLOUSE CASUAL LADIES','A','A01','A0101','A010104'),
  20. ('LADIES APPAREL','CASUAL LADIES','BLOUSE FORMAL LADIES','A','A01','A0101','A010104'),
  21. ('LADIES APPAREL','CASUAL LADIES','DRESS CASUAL LADIES','A','A01','A0104','A010401'),
  22. ('LADIES APPAREL','CASUAL LADIES','JEANS CASUAL LADIES','A','A01','A0103','A010304'),
  23. ('LADIES APPAREL','CASUAL LADIES','JEGGING CASUAL LADIES','A','A01','A0103','A010305'),
  24. ('LADIES APPAREL','CASUAL LADIES','JUMPSUIT','A','A01','A0104','A010403'),
  25. ('LADIES APPAREL','CASUAL LADIES','LADIES CARDIGAN','A','A01','A0108','A010802'),
  26. ('LADIES APPAREL','CASUAL LADIES','LADIES TSHIRT / TOP KNIT','A','A01','A0101','A010107'),
  27. ('LADIES APPAREL','CASUAL LADIES','LONG PANTS CASUAL LADIES','A','A01','A0103','A010305'),
  28. ('LADIES APPAREL','CASUAL LADIES','SKIRT CASUAL LADIES','A','A01','A0102','A010201'),
  29. ('LADIES APPAREL','CASUAL TEEN / MISSY','BLOUSE / TOP WOVEN','D','D01','D0106','D010604'),
  30. ('LADIES APPAREL','CASUAL TEEN / MISSY','DRESS','D','D01','D0108','D010801'),
  31. ('LADIES APPAREL','CASUAL TEEN / MISSY','LADIES TSHIRT / TOP KNIT','D','D01','D0106','D010607'),
  32. ('LADIES APPAREL','FORMAL TEEN & LADIES','BLOUSE CASUAL LADIES','D','D01','D0106','D010604'),
  33. ('LADIES APPAREL','FORMAL TEEN & LADIES','BLOUSE FORMAL LADIES','D','D01','D0106','D010604'),
  34. ('LADIES APPAREL','FORMAL TEEN & LADIES','CASUAL BLAZER','D','D01','D0106','D010606'),
  35. ('LADIES APPAREL','FORMAL TEEN & LADIES','DRESS FORMAL LADIES','D','D01','D0108','D010801'),
  36. ('LADIES APPAREL','FORMAL TEEN & LADIES','JEANS CASUAL LADIES','D','D01','D0107','D010704'),
  37. ('LADIES APPAREL','FORMAL TEEN & LADIES','SET TOP & BOTTOM','D','D01','D0108','D010805'),
  38. ('LADIES APPAREL','FORMAL TEEN & LADIES','TUNIK MOSLEM LADIES','C','C01','C0108','C010802'),
  39. ('LADIES APPAREL','GIRL MOSLEM','GIRLS MOSLEM TUNIC','C','C01','C0108','C010802'),
  40. ('LADIES APPAREL','LADIES BATIK','BLOUSE LADIES BATIK','A','A01','A0105','A010506'),
  41. ('LADIES APPAREL','LADIES BIG SIZE & MATERNITY','BIG SIZE TOP LADIES','A','A11','A0110','A011001'),
  42. ('LADIES APPAREL','LADIES MOSLEM','GAMIS MOSLEM LADIES','C','C01','C0104','C010403'),
  43. ('LADIES APPAREL','LADIES MOSLEM','LONG PANTS','C','C01','C0103','C010302'),
  44. ('LADIES APPAREL','LADIES MOSLEM','MAXI DRESS','C','C01','C0104','C010403'),
  45. ('LADIES APPAREL','LADIES MOSLEM','MOSLEM BLOUSE','C','C01','C0101','C010103'),
  46. ('LADIES APPAREL','LADIES MOSLEM','OUTER','C','C01','C0106','C010601'),
  47. ('LADIES APPAREL','LADIES MOSLEM','SET MOSLEM GAMIS','C','C01','C0105','C010501'),
  48. ('LADIES APPAREL','LADIES MOSLEM','TUNIK MOSLEM LADIES','C','C01','C0101','C010102'),
  49. ('LADIES APPAREL','PAKAIAN (APPAREL)','LADIES TSHIRT / TOP KNIT','A','A01','A0101','A010107'),
  50. ('LADIES APPAREL','PAKAIAN (APPAREL)','LONG PANTS CASUAL LADIES','A','A01','A0103','A010305'),
  51. ('LADIES APPAREL','PAKAIAN (APPAREL)','PAKAIAN HAMIL WANITA (MATERNITY)','A','A11','A0110','A011001'),
  52. ('LADIES APPAREL','PAKAIAN (APPAREL)','TERUSAN WANITA (DRESS)','A','A01','A0104','A010401'),
  53. ('LADIES APPAREL','PAKAIAN (APPAREL)','TUNIK MOSLEM LADIES','C','C01','C0101','C010102'),
  54. ('ACCESSORIES','ACCESSORIES','LADIES FASHION ACCESSORIES','A','A01','A0501','A050101'),
  55. ('ACCESSORIES','BEAUTY TOOLS','BEAUTY TOOLS','F','F11','F0115','F011501'),
  56. ('ACCESSORIES','BELT','BOY ACCESSORIES','D','D01','D0401','D040101'),
  57. ('ACCESSORIES','BELT','LADIES FASHION BELT','A','A01','A0505',''),
  58. ('ACCESSORIES','BELT','MENS FORMAL BELT','B','B01','B0504',''),
  59. ('ACCESSORIES','BOY WATCHES','BOYS WATCH','D','D01','D0401','D040103'),
  60. ('ACCESSORIES','GIRL ACCESSORIES','GIRL ACCESORIES','D','D01','D0401','D040101'),
  61. ('ACCESSORIES','JEWELRY','LADIES FASHION ACCESSORIES','A','A01','A0503','A050301'),
  62. ('ACCESSORIES','JEWELRY','NECKLACE','A','A01','A0503','A050301'),
  63. ('ACCESSORIES','LADIES ACCESSORIES','BEAUTY TOOLS','F','F11','F0115','F011501'),
  64. ('ACCESSORIES','LADIES ACCESSORIES','BRACELET / BANGLE','A','A01','A0503','A050302'),
  65. ('ACCESSORIES','LADIES ACCESSORIES','BROS','A','A01','A0503','A050305'),
  66. ('ACCESSORIES','LADIES ACCESSORIES','EARRING','A','A01','A0503','A050304'),
  67. ('ACCESSORIES','LADIES ACCESSORIES','JEWELRY SET','A','A01','A0503','A050306'),
  68. ('ACCESSORIES','LADIES ACCESSORIES','LADIES PASHMINA','A','A01','A0502',''),
  69. ('ACCESSORIES','LADIES ACCESSORIES','NECKLACE','A','A01','A0503','A050301'),
  70. ('ACCESSORIES','LADIES ACCESSORIES','RING','A','A01','A0503','A050303'),
  71. ('ACCESSORIES','LADIES SUNGLASSES','LADIES FASHION SUNGLASS','A','A01','A0501','A050101'),
  72. ('ACCESSORIES','LADIES WATCHES','LADIES FASHION WATCH','A','A01','A0401',''),
  73. ('ACCESSORIES','LADIES WATCHES','LADIES FORMAL WATCH','A','A01','A0401',''),
  74. ('ACCESSORIES','MENS SUNGLASSES','MENS FASHION SUNGLASS','B','B01','B0501',''),
  75. ('ACCESSORIES','MENS WATCHES','MENS FASHION WATCH','B','B01','B0401',''),
  76. ('ACCESSORIES','MENS WATCHES','MENS FORMAL WATCH','B','B01','B0401',''),
  77. ('ACCESSORIES','SOUVENIR','KITCHEN LINEN & PLACEMAT','H','H01','H0303','H030301'),
  78. ('ACCESSORIES','SOUVENIR','MENS CAP','B','B01','B0505',''),
  79. ('ACCESSORIES','SUN GLASSES','LADIES','A','A01','A0501','A050101'),
  80. ('BAG','KIDS BAG','SCHOOL BAG GIRL','D','D01','D0301','D030101'),
  81. ('BAG','LADIES BAG','CASUAL BAG','A','A01','A0301',''),
  82. ('BAG','LADIES BAG','FASHION BAG','A','A01','A0301',''),
  83. ('BAG','LADIES BAG','LADIES FASHION BAGS','A','A01','A0301',''),
  84. ('BAG','LADIES BAGS','BACKPACK','A','A01','A0305',''),
  85. ('BAG','LADIES BAGS','BAG SET','A','A01','A0301',''),
  86. ('BAG','LADIES BAGS','CASUAL BAG','A','A01','A0301',''),
  87. ('BAG','LADIES BAGS','COSMETIC BAG','A','A01','A0307',''),
  88. ('BAG','LADIES BAGS','LADIES FASHION BAGS','A','A01','A0301',''),
  89. ('BAG','LADIES BAGS','LADIES FASHION WALLET','A','A01','A0306',''),
  90. ('BAG','LADIES BAGS','LADIES PARTY BAGS','A','A01','A0304',''),
  91. ('BAG','LADIES BAGS','SHOPPING/GIFT BAG','A','A11','A0310',''),
  92. ('BAG','LADIES WALLET','COSMETIC BAG','A','A01','A0307',''),
  93. ('BAG','LADIES WALLET','WALLET','A','A01','A0306',''),
  94. ('BAG','MEN BAG','CASUAL BAG','B','B01','B0301',''),
  95. ('BAG','MENS BAGS','BACKPACK','B','B01','B0301',''),
  96. ('BAG','MENS BAGS','CASUAL BAG','B','B01','B0301',''),
  97. ('BAG','MENS WALLET','WALLET','B','B01','B0307','B030701'),
  98. ('SHOES','KIDS FOOTWEAR','BOY CASUAL SHOES','D','D01','D0201','D020101'),
  99. ('SHOES','KIDS FOOTWEAR','CASUAL SANDAL','D','D01','D0201','D020103'),
  100. ('SHOES','KIDS FOOTWEAR','CASUAL SHOES','D','D01','D0201','D020101'),
  101. ('SHOES','KIDS FOOTWEAR','GIRL CASUAL SHOES','D','D01','D0201','D020101'),
  102. ('SHOES','LADIES FOOTWEAR','CASUAL SANDAL','A','A01','A0202',''),
  103. ('SHOES','LADIES FOOTWEAR','CASUAL SHOES','A','A01','A0201',''),
  104. ('SHOES','LADIES FOOTWEAR','FORMAL SHOES','A','A01','A0201',''),
  105. ('SHOES','LADIES FOOTWEAR','LADIES SHOES DAILY','A','A01','A0201',''),
  106. ('SHOES','LADIES FOOTWEAR','LADIES SHOES FORMAL','A','A01','A0201',''),
  107. ('SHOES','LADIES FOOTWEAR','PARTY SHOES','A','A01','A0201',''),
  108. ('SHOES','LADIES SHOES','BRA','A','A01','A0201',''),
  109. ('SHOES','MEN FOOTWEAR','CASUAL SANDAL','B','B01','B0202',''),
  110. ('SHOES','MEN FOOTWEAR','CASUAL SHOES','B','B01','B0201',''),
  111. ('SHOES','MEN FOOTWEAR','FORMAL SHOES','B','B01','B0207',''),
  112. ('SHOES','MEN FOOTWEAR','SPORT SHOES','P','P01','P0401',''),
  113. ('KOMPUTER & LAPTOP','LAPTOP','LAPTOP UMUM','J','J01','J0101',''),
  114. ('COSMETIC & HEALTH','COSMETIC','BEAUTY TOOLS','F','F11','F0115','F011501'),
  115. ('COSMETIC & HEALTH','COSMETIC','BLUSH ON','F','F01','F0101','F010104'),
  116. ('COSMETIC & HEALTH','COSMETIC','BODY LOTION','F','F01','F0107','F010706'),
  117. ('COSMETIC & HEALTH','COSMETIC','EYES','F','F01','F0101','F010101'),
  118. ('COSMETIC & HEALTH','COSMETIC','FACIAL FOAM','F','F11','F0110',''),
  119. ('COSMETIC & HEALTH','COSMETIC','FRAGRANCE','F','F11','F0111','F011101'),
  120. ('COSMETIC & HEALTH','COSMETIC','LADIES HAIR CARE COSMETIC','F','F11','F0113','F011301'),
  121. ('COSMETIC & HEALTH','COSMETIC','LADIES SKIN CARE COSMETIC','F','F01','F0107','F010701'),
  122. ('COSMETIC & HEALTH','COSMETIC','LIP','F','F01','F0109',''),
  123. ('COSMETIC & HEALTH','COSMETIC','PAKET KOSMETIK','F','F01','F0102',''),
  124. ('COSMETIC & HEALTH','COSMETIC','TALCUM POWDER','F','F01','F0107','F010701'),
  125. ('COSMETIC & HEALTH','HEALTH TOOLS','HEALTH EQUIPMENT','G','G01','G0101',''),
  126. ('COSMETIC & HEALTH','KOSMETIK','LADIES SKIN CARE COSMETIC','F','F01','F0107','F010701'),
  127. ('COSMETIC & HEALTH','SUPLEMENT & HEALTH','HEALTH EQUIPMENT','G','G01','G0101',''),
  128. ('COSMETIC & HEALTH','SUPLEMENT & HEALTH','SUPLEMENT','G','G01','G0102',''),
  129. ('MEN APPAREL','MEN BATIK','MEN BATIK SHIRT L/S','B','B01','B0103','B010302'),
  130. ('MEN APPAREL','MEN BATIK','MEN BATIK SHIRT S/S','B','B01','B0103','B010302'),
  131. ('MEN APPAREL','MEN CASUAL & COTEMP','MEN CASUAL DENIM','B','B01','B0102','B010202'),
  132. ('MEN APPAREL','MEN CASUAL & COTEMP','MEN CASUAL JACKET & OUTWEAR','B','B01','B0106','B010603'),
  133. ('MEN APPAREL','MEN CASUAL & COTEMP','MEN CASUAL POLO SHIRT','B','B01','B0101','B010105'),
  134. ('MEN APPAREL','MEN CASUAL & COTEMP','MEN CASUAL SHIRT','B','B01','B0101','B010104'),
  135. ('MEN APPAREL','MEN CASUAL & COTEMP','MEN CASUAL SHORT PANTS/BERMUDA','B','B01','B0102','B010201'),
  136. ('MEN APPAREL','MEN CASUAL & COTEMP','MEN CASUAL T-SHIRT','B','B01','B0101','B010104'),
  137. ('MEN APPAREL','MEN FOOTWEAR','CASUAL SHOES','B','B01','B0201',''),
  138. ('MEN APPAREL','MEN FORMAL','MEN FORMAL TROUSER/PANTS','B','B01','B0102','B010203'),
  139. ('MEN APPAREL','MEN MOSLEM','MEN MOSLEM KOKO','C','C01','C0101','C010104'),
  140. ('MEN APPAREL','MEN UNDERWEAR','MEN CASUAL POLO SHIRT','B','B01','B0101','B010105'),
  141. ('MEN APPAREL','PAKAIAN','MEN MOSLEM KOKO','C','C01','C0101','C010104'),
  142. ('HANDPHONE AND TABLET','AKSESORIS HANDPHONE & TABLET','ASSESORIES ELEKTRONIK','I','I01','I0201',''),
  143. ('HANDPHONE AND TABLET','HANDPHONE','HANDPHONE','I','I01','I0101',''),
  144. ('LADIES INTIMATE & SPORTSWEAR','LADIES LINGERIE & SLEEPWEAR','BRA - LADIES LINGERIE','A','A01','A0106','A010601'),
  145. ('LADIES INTIMATE & SPORTSWEAR','LADIES LINGERIE & SLEEPWEAR','KORSET','A','A01','A0106','A010603'),
  146. ('LADIES INTIMATE & SPORTSWEAR','LADIES LINGERIE & SLEEPWEAR','SINGLET /TANK TOP- LADIES LINGERIE','A','A01','A0106','A010601'),
  147. ('LADIES INTIMATE & SPORTSWEAR','LADIES SPORTWEAR','LADIES AEROBIC & TRAINING','P','P01','P0101','P010101'),
  148. ('LADIES INTIMATE & SPORTSWEAR','PAKAIAN (APPAREL)','PAKAIAN DALAM WANITA (INTIMATE)','A','A01','A0106','A010601'),
  149. ('CHILDREN','BOY CASUAL & FORMAL','BOY CASUAL JACKET','D','D01','D0101','D010104'),
  150. ('CHILDREN','BOY CASUAL & FORMAL','BOY CASUAL & T.SHIRT ROUND','D','D01','D0101','D010103'),
  151. ('CHILDREN','BOY CASUAL & FORMAL','BOY CASUAL / T-SHIRT POLO','D','D01','D0101','D010103'),
  152. ('CHILDREN','BOY CASUAL & FORMAL','BOY CASUAL SWEATER','D','D01','D0101','D010104'),
  153. ('CHILDREN','BOY CASUAL & FORMAL','MEN UNDERWEAR SHORT','D','D01','D0104','D010401'),
  154. ('CHILDREN','GIRL CASUAL & GIRL FORMAL','GIRL CASUAL & GIRL FORMAL BLOUSE','D','D01','D0106','D010602'),
  155. ('CHILDREN','GIRL CASUAL & GIRL FORMAL','GIRL CASUAL & GIRL FORMAL DRESS CASUAL','D','D01','D0108','D010801'),
  156. ('CHILDREN','GIRL CASUAL & GIRL FORMAL','GIRL CASUAL & GIRL FORMAL PARTY DRESS','D','D01','D0108','D010801'),
  157. ('CHILDREN','GIRL CASUAL & GIRL FORMAL','GIRL CASUAL & GIRL FORMAL T.SHIRT','D','D01','D0106','D010607'),
  158. ('CHILDREN','GIRL CASUAL & GIRL FORMAL','LEGGING','D','D01','D0107','D010704'),
  159. ('CHILDREN','GIRL CASUAL & GIRL FORMAL','SET TAS+GENDONGAN+BLANKET','D','D05','D0513',''),
  160. ('BABY','BABY PRODUCT','BABY ACCSESSORIES','D','D05','D0501',''),
  161. ('BABY','BABY PRODUCT','BABY CARRIER & SLINGS','D','D05','D0513',''),
  162. ('BABY','BABY PRODUCT','GENDONGAN BABY','D','D05','D0513',''),
  163. ('BABY','BABY PRODUCT','NURSERY','D','D05','D0501',''),
  164. ('BABY','INFANT/ TODLER APPAREL','DRESS','D','D01','D0112','D011206'),
  165. ('BABY','INFANT/ TODLER APPAREL','LAYYETTE','D','D01','D0112','D011201'),
  166. ('BABY','INFANT/ TODLER APPAREL','PANTS INFANT','D','D01','D0112','D011202'),
  167. ('BABY','INFANT/ TODLER APPAREL','SET T-SHIRT','D','D01','D0112','D011203'),
  168. ('BABY','INFANT/ TODLER APPAREL','T-SHIRT INFANT','D','D01','D0112','D011201'),
  169. ('ACCESSORIES MUSLIM','KERUDUNG','BASIC','C','C01','C0105','C010501'),
  170. ('ACCESSORIES MUSLIM','KERUDUNG','FASHION','C','C01','C0105','C010501'),
  171. ('ACCESSORIES MUSLIM','KERUDUNG','HIJAB','C','C01','C0105','C010501'),
  172. ('ACCESSORIES MUSLIM','KERUDUNG','KERUDUNG','C','C01','C0105','C010501'),
  173. ('ACCESSORIES MUSLIM','MEN ACCESSORIES','MENS SOCKS','C','C02','C0202',''),
  174. ('ACCESSORIES MUSLIM','SOCKS & MANSET','LADIES','C','C02','C0202',''),
  175. ('TOYS/GAMES & SPORT','TOYS','TOYS','E','E01','E0101',''),
  176. ('EDUTAINMENT,BOOKS,STATIONARY','EDUTAINMENT','SCHOOL STATIONARY','E','E04','E0401',''),
  177. ('EDUTAINMENT,BOOKS,STATIONARY','EDUTAINMENT','TOYS','E','E01','E0101',''),
  178. ('AUTOMOTIVE','AKSESORIS MOBIL','CAR DAN MOTOR ACCESSORIES','K','K02','K0201','');
  179.  
  180. -- Cek apakah ada new_category yang diberikan oleh user yang tidak ada di m_product_ctgr_tree
  181. SELECT * FROM tt_change_product_category_2018 A
  182. WHERE NOT EXISTS (
  183.     SELECT 1 FROM m_product_ctgr_tree B
  184.     WHERE CASE WHEN
  185.         A.new_level3 = '' THEN A.new_level2 = B.product_ctgr_tree_code
  186.         ELSE A.new_level3 = B.product_ctgr_tree_code
  187.         END
  188. )
  189.  
  190. ------------------------------------------------------------------------
  191. -- DATA GATHERING
  192. ------------------------------------------------------------------------
  193.  
  194. -- Mapping master product dengan new_ctgr yang diberikan user berdasarkan Gender, Category dan Type
  195. -- Jika tidak ada, maka kolom new_level3 akan berisi null
  196. CREATE TABLE tt_product_new_ctgr_2018 AS
  197. SELECT A.product_id, A.product_code, A.product_name,
  198.     UPPER(B.value) AS type, UPPER(C.value) AS gender, UPPER(D.product_ctgr_tree_code) AS category_code,
  199.     UPPER(D.product_ctgr_tree_name) AS category_name,
  200.     CASE WHEN E.new_level3 = '' THEN E.new_level2 ELSE E.new_level3 END AS new_level3
  201. from m_product A -- 77090
  202. INNER JOIN m_product_custom_field B ON A.product_id = B.product_id AND B.product_attr_code = 'TYPE' AND B.active = 'Y' -- 76838
  203. INNER JOIN m_product_custom_field C ON A.product_id = C.product_id AND C.product_attr_code = 'GENDER' AND C.active = 'Y' -- 75338
  204. INNER JOIN m_product_ctgr_tree D ON A.sub_ctgr_product_id = D.product_ctgr_tree_id -- 75338
  205. LEFT JOIN tt_change_product_category_2018 E ON UPPER(B.value) = UPPER(E.old_type_name) AND UPPER(C.value) = UPPER(E.old_gender_name) AND UPPER(D.product_ctgr_tree_name) = UPPER(E.old_category_name)
  206. --ORDER BY A.product_code
  207.  
  208. -- Cari apakah ada kombinasi Gender, Category dan Type yang tidak ada di m_product
  209. CREATE TABLE tt_not_found_product_category_2018 AS
  210. SELECT * FROM tt_change_product_category_2018 E
  211. WHERE NOT EXISTS (SELECT 1 FROM m_product A -- 77090
  212. INNER JOIN m_product_custom_field B ON A.product_id = B.product_id AND B.product_attr_code = 'TYPE' AND B.active = 'Y' -- 76838
  213. INNER JOIN m_product_custom_field C ON A.product_id = C.product_id AND C.product_attr_code = 'GENDER' AND C.active = 'Y' -- 75338
  214. INNER JOIN m_product_ctgr_tree D ON A.sub_ctgr_product_id = D.product_ctgr_tree_id -- 75338
  215. WHERE UPPER(B.value) = UPPER(E.old_type_name) AND UPPER(C.value) = UPPER(E.old_gender_name) AND UPPER(D.product_ctgr_tree_name) = UPPER(E.old_category_name))
  216.  
  217. -- Mendapatkan daftar kombinasi Gender, Category dan Type yang tidak ada di vw_product_catalog_cogs
  218. SELECT * FROM tt_change_product_category_2018 A
  219. WHERE NOT EXISTS (SELECT 1 FROM vw_product_catalog_cogs B WHERE UPPER(A.old_gender_name) = UPPER(B.gender) AND UPPER(A.old_category_name) = UPPER(B.product_ctgr_tree_name) AND UPPER(A.old_type_name) = UPPER(B.type))
  220.  
  221. ------------------------------------------------------------------------
  222. -- BACKUP SCRIPT
  223. ------------------------------------------------------------------------
  224. CREATE TABLE backup_m_product_20180703 AS
  225. SELECT * FROM m_product A
  226. WHERE EXISTS (SELECT 1 FROM tt_product_new_ctgr_2018 B WHERE B.new_level3 IS NOT NULL AND A.product_id = B.product_id);
  227.  
  228. CREATE TABLE backup_m_product_custom_20180703 AS
  229. SELECT * FROM m_product_custom A
  230. WHERE EXISTS (SELECT 1 FROM tt_product_new_ctgr_2018 B WHERE B.new_level3 IS NOT NULL AND A.product_id = B.product_id);
  231.  
  232. CREATE TABLE backup_m_product_field_20180703 AS
  233. SELECT * FROM m_product_custom_field A
  234. WHERE A.product_attr_code IN ('GENDER', 'TYPE')
  235. AND EXISTS (SELECT 1 FROM tt_product_new_ctgr_2018 B WHERE B.new_level3 IS NOT NULL AND A.product_id = B.product_id);
  236.  
  237. ------------------------------------------------------------------------
  238. -- UPDATE SCRIPT
  239. ------------------------------------------------------------------------
  240. -- UPDATE gender_code m_product
  241. UPDATE m_product
  242.   SET
  243.     ctgr_product_id = C.product_ctgr_tree_id,
  244.     sub_ctgr_product_id =  C.product_ctgr_tree_id
  245. FROM tt_product_new_ctgr_2018 B
  246. INNER JOIN m_product_ctgr_tree C ON B.new_level3 = C.product_ctgr_tree_code AND C.active = 'Y'
  247. WHERE A.product_id = B.product_id
  248. AND EXISTS (SELECT 1 FROM backup_m_product_20180703 D WHERE A.product_id = D.product_id);
  249.  
  250. -- UPDATE gender_code m_product_custom
  251. UPDATE m_product_custom A
  252.   SET A.gender_code = C.product_ctgr_tree_code
  253. FROM tt_product_new_ctgr_2018 B
  254. INNER JOIN m_product_ctgr_tree C ON SUBSTR(B.new_level3,1,1) = C.product_ctgr_tree_code AND C.active = 'Y'
  255. WHERE A.product_id = B.product_id
  256. AND EXISTS (SELECT 1 FROM backup_m_product_custom_20180703 D WHERE A.product_id = D.product_id);
  257.  
  258. -- UPDATE GENDER product_custom_field
  259. UPDATE m_product_custom_field A
  260.   SET A.value = C.product_ctgr_tree_name
  261. FROM tt_product_new_ctgr_2018 B
  262. INNER JOIN m_product_ctgr_tree C ON SUBSTR(B.new_level3,1,1) = C.product_ctgr_tree_code AND C.active = 'Y'
  263. WHERE A.product_attr_code = 'GENDER'
  264. AND A.product_id = B.product_id
  265. AND EXISTS (SELECT 1 FROM backup_m_product_field_20180703 D WHERE A.product_custom_field_id = D.product_custom_field_id AND A.product_attr_code = D.product_attr_code AND A.product_id = D.product_id);
  266.  
  267. -- UPDATE TYPE product_custom_field
  268. UPDATE m_product_custom_field A
  269.   SET A.value = C.product_ctgr_tree_name
  270. FROM tt_product_new_ctgr_2018 B
  271. INNER JOIN m_product_ctgr_tree C ON SUBSTR(B.new_level3,1,5) = C.product_ctgr_tree_code AND C.active = 'Y'
  272. WHERE A.product_attr_code = 'TYPE'
  273. AND A.product_id = B.product_id
  274. AND EXISTS (SELECT 1 FROM backup_m_product_field_20180703 D WHERE A.product_custom_field_id = D.product_custom_field_id AND A.product_attr_code = D.product_attr_code AND A.product_id = D.product_id);
  275.  
  276. ----------------------------------------------------------------------------------------------------------------------------
  277. ----------------------------------------------------------------------------------------------------------------------------
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement