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

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