Mysql
 sql >> база данни >  >> RDS >> Mysql

изтриване на дубликати в sql и съответно модифициране на таблицата за релации

begin
  for x in (
            -- find duplicate items
            select *
              from (select rowid row_id,
                           item_id,
                           item_description,
                           row_number() over(partition by item_description order by
                           item_description) row_no
                       from item_tab)
            where row_no > 1) loop
-- replaceing duplicate Items
    update menu_has_item 
    set menu_has_item.item_tab_item_id =
           ( select item_id
              from (select item_id,
                           row_number() over(partition by item_description order by
                           item_description) row_no
                       from item_tab where 
                       item_tab.item_description = x.item_description)
             where row_no = 1)
   where menu_has_item .item_tab_item_id = x.item_id;
-- deleting duplicate items
     delete item_tab where rowid = x.row_id;
  end loop;
-- commit;
end;


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Автоматично улавяне на изключения за PDO в PHP

  2. Използване на JQuery за вмъкване на стойности в mySQL

  3. Подредената входна стойност вмъква празен запис в mysql

  4. Как да се свържете с база данни с помощта на NaviCat MySQL клиент

  5. MySQL от десетичен (13.6) към валута