标签别名脏数据处理.sql 822 B

1234567891011121314151617181920212223242526272829303132333435363738
  1. use `sys-icss`;
  2. update icss_retrieval_mapping a join
  3. (SELECT
  4. a.id as oldId,
  5. b.id as newId,
  6. a.name
  7. FROM
  8. (SELECT
  9. id,name
  10. FROM icss_retrieval
  11. WHERE name in
  12. (SELECT
  13. name
  14. FROM `icss_retrieval`
  15. group by name
  16. HAVING count(1)>1)) a
  17. JOIN
  18. (SELECT
  19. id,name
  20. FROM(
  21. SELECT
  22. id,name
  23. FROM icss_retrieval
  24. WHERE name in
  25. (SELECT
  26. name
  27. FROM `icss_retrieval`
  28. group by name
  29. HAVING count(1)>1)
  30. ) t
  31. group by name) b on a.name=b.name) b on a.retrieval_id=b.oldId
  32. set a.retrieval_id=b.newId;
  33. update icss_retrieval a left join icss_retrieval_mapping b on a.id=b.retrieval_id set a.is_deleted='Y' where b.id is null;
  34. update icss_retrieval_mapping a left join icss_retrieval b on a.retrieval_id=b.id set a.is_deleted='Y' where b.id is null;
  35. delete from icss_retrieval_mapping where is_deleted='Y';
  36. delete from icss_retrieval where is_deleted='Y';