我正在为我们正在处理的当前应用程序进行数据迁移。迁移涉及旧数据库和新数据库。旧的数据库没有规范化,并且有大表。我们创建了一个新的数据库,现在有许多表可以更好地存储数据。我现在的问题是: 我有一张旧桌子。我试图从旧表中复制数据,插入到新表中。新表现在将一个字段从varchar转换为int,并且是一个FK到一个单独的表(因此涉及3个表)我已经给出了下面的表结构的片段以及需要完成的内容。我在过去的两天里一直在搜索,似乎无法找到答案。
OldTable(PersonID,FileName,AttachType)
NewTable(PersonID,FileName,AttachTypeID)
tblAttachType(AttachTypeID,TypeName)
所以我需要将旧表数据传输到新表,而AttachType需要查看" TypeName"匹配,然后在新表中插入" AttachTypeID"来自" tblAttachType"。
提前谢谢。
答案 0 :(得分:0)
您应该能够通过从您拥有的表中进行选择来插入所需的数据。
INSERT INTO NewTable (PersonID, FileName, AttachTypeID)
SELECT o.PersonID, o.FileName, t.AttachTypeID
FROM OldTable o
JOIN tblAttachType t on o.AttachType = t.TypeName