Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

menghapus duplikat dalam sql dan memodifikasi tabel hubungan yang sesuai

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. Dapatkan durasi sebagai perbedaan cap waktu untuk perubahan lokasi berulang

  2. Permintaan MySQL untuk beberapa tabel menjadi tabel sekunder beberapa item?

  3. Gunakan subquery yang berkorelasi pada dua kolom

  4. eksekusi banyak untuk kesalahan MySQLdb untuk sejumlah besar baris

  5. pengkodean utf8 di Perl dan MySql