SQL数据迁移

SQL数据迁移,sql,excel,database,Sql,Excel,Database,我要用一个例子来解释我的问题。SQL迁移: 在附图中有两个SQL表,表2引用了表1的主键。然而,表1有许多重复项,所以我使用Excel删除了所有重复项,并使用一组新的ID将数据导入到一个新表中。现在,我必须将表2导入一个新表,并像以前一样再次引用表1。现在在图中,这样做看起来相当容易,但在消除了大约700个重复之后,我正在处理一个超过2000行的数据库。除了手动编辑每一行并匹配它们之外,还有什么方法可以快速做到这一点。这是我第一次做数据库迁移,但我想有一种快速的方法可以做到这一点。谷歌搜索并没

我要用一个例子来解释我的问题。SQL迁移:


在附图中有两个SQL表,表2引用了表1的主键。然而,表1有许多重复项,所以我使用Excel删除了所有重复项,并使用一组新的ID将数据导入到一个新表中。现在,我必须将表2导入一个新表,并像以前一样再次引用表1。现在在图中,这样做看起来相当容易,但在消除了大约700个重复之后,我正在处理一个超过2000行的数据库。除了手动编辑每一行并匹配它们之外,还有什么方法可以快速做到这一点。这是我第一次做数据库迁移,但我想有一种快速的方法可以做到这一点。谷歌搜索并没有真正产生任何结果。非常感谢您的帮助。

要预览需要从第二个表中删除的数据,请运行以下命令:

select * from names
where place_id NOT in (select id from places)
如果你对结果感到满意,你可以跑步

delete from names
where place_id NOT in (select id from places)

将表2复制到表2New之后

update table2New
set PlaceNameID = (select t1N.ID
    from table2 as t2
    join table1 as t1
      on t1.ID = t2.PlaceNameID
    join table1new as t1N
      on t1.PlaceName = t1N.PlaceName
    where table2New.ID = t2.ID
);

下次当您询问SQL问题时,请包括用于创建表的SQL代码,而不是屏幕截图。这将为那些愿意帮助你的人节省时间。嗨,埃琳娜,那些截图只是我面临的问题的例子,而不是实际的表格。他们的目的是帮助人们理解我在做什么。我正在处理的实际表格由几个列组成,如果我把这些列包括进来,就不会给我的问题增加任何内容。这无疑有助于整理需要从表2中删除的数据。我非常感谢你和我分享这个。现在,我将如何创建引用新表1的新表2。表2中有2000行,我必须与表1中的ID匹配。你能指导我如何快速完成这项工作吗。谢谢。我运行了这个查询,它给了我一个错误,子查询返回了超过1个值。当子查询在=、!=、=或者当子查询用作表达式时。您的查询完全有意义,应该可以工作。我会努力解决这个问题,看看我能做些什么。谢谢。你删除了表1中的所有副本了吗?表1新的我是说。我仔细检查了一下,表1新中没有副本。在将数据复制到新表之前,我删除了所有重复项。