Advertisement
Guest User

Untitled

a guest
Feb 9th, 2016
44
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.36 KB | None | 0 0
  1. SET @position = 0;
  2. SET @last_parent = 0;
  3. SET @last_level = 0;
  4. DROP TABLE IF EXISTS `cce_new_position`;
  5. CREATE TEMPORARY TABLE `cce_new_position`
  6. SELECT
  7. `new`.`entity_id` AS `entity_id`,
  8. `new`.`parent_id` AS `parent_id`,
  9. @last_parent := CAST(`new`.`parent_id` AS UNSIGNED) AS `new_parent_id`,
  10. `new`.`name` AS `name`,
  11. `new`.`level` AS `level`,
  12. @last_level := CAST(`new`.`level` AS UNSIGNED) AS `new_level`,
  13. `new`.`position` AS `position`,
  14. @position := (IF((@last_parent != `new`.`parent_id`) OR (@last_level != `new`.`level`), 0, @position) + 1) AS `new_position`
  15. FROM (
  16. SELECT
  17. `e`.`entity_id` AS `entity_id`,
  18. `e`.`parent_id` AS `parent_id`,
  19. TRIM(`v`.`value`) AS `name`,
  20. `e`.`position` AS `position`,
  21. `e`.`level` AS `level`,
  22. `e`.`path` AS `path`
  23. FROM `catalog_category_entity` AS `e`
  24. LEFT JOIN `catalog_category_entity_varchar` AS `v` ON `e`.`entity_id` = `v`.`entity_id` AND `v`.`attribute_id` = 33
  25. -- WHERE (`e`.`entity_id` != 1 AND `e`.`entity_id` != 4)
  26. ORDER BY `level`, `parent_id`, `name` ASC
  27. ) AS `new`;
  28. -- Review Changes
  29. SELECT * FROM `cce_new_position`;
  30.  
  31. -- Commit Changes
  32. UPDATE
  33. `catalog_category_entity` AS `e`
  34. LEFT JOIN `cce_new_position` AS `np` ON `e`.`entity_id` = `np`.`entity_id`
  35. SET
  36. `e`.`position` = `np`.`new_position`;
  37.  
  38. DROP TABLE IF EXISTS `cce_new_position`;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement