sql从关系表中的两个新创建的表插入主键

时间:2013-11-26 17:28:06

标签: sql sql-server sql-server-2008 sql-server-2008-r2

我有一个表在两个不同的表中包含4个记录(PersonName,CityName,CityState,CityCountry)。其中一个表现在有personID,personName,另一个有Cityid,CityName,CityState,CityCountry。

现在我创建了第三个包含PersonId,CityId的表。 如何从原始表中使用人员和城市的ID填充该表,因为它们现在被拆分。我想根据原始表中的关系从新创建的表中获取ID。 在此先感谢Laziale

1 个答案:

答案 0 :(得分:1)

你能不能再回到原来的桌子了吗?

INSERT PersonCity (PersonID, CityID)
SELECT  p.PersonID, c.CityID
FROM    OriginalTable o
        INNER JOIN Person p
            ON p.PersonName = o.Personname
        INNER JOIN City c
            ON c.CityName = o.CityName
            AND c.CityState = o.CityState
            AND c.CityCountry = o.CityCountry;