Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

xóa các bản sao trong sql và sửa đổi bảng quan hệ cho phù hợp

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. Chọn từ nhiều bảng mà không có liên kết?

  2. Giá trị động tối thiểu cho phạm vi đặc tả (mysql)

  3. Cách cải thiện hiệu suất truy vấn với nhiều JOIN

  4. Không thể tải lớp trình điều khiển:com.mysql.jdbc.Driver Spring Boot

  5. Hiểu kết hợp tự nhiên trong SQL