Sql 我想创建一个映射表,在其中存储旧的\u id及其各自的新的\u id
我有两个表profession和level。我正在为同一个level和同一个profession添加新id。因此表中同时包含newid和oldid。但现在我想创建一个包含此映射的映射表 我有这个: 职业 我想: 专业映射表Sql 我想创建一个映射表,在其中存储旧的\u id及其各自的新的\u id,sql,sql-server,Sql,Sql Server,我有两个表profession和level。我正在为同一个level和同一个profession添加新id。因此表中同时包含newid和oldid。但现在我想创建一个包含此映射的映射表 我有这个: 职业 我想: 专业映射表 级别表也是如此。假设旧ID总是来自印度,新ID总是来自美国,您可以根据名称自行加入专业表,并根据国家进行区分: SELECT o.id AS oldid, n.id AS newid INTO ProffesionMapping FROM Proffesion o J
级别表也是如此。假设旧ID总是来自印度,新ID总是来自美国,您可以根据名称自行加入专业表,并根据国家进行区分:
SELECT o.id AS oldid, n.id AS newid
INTO ProffesionMapping
FROM Proffesion o
JOIN Proffesion n ON o.name = n.name AND o.country = 'india' and n.country = 'US'
假设oldid总是来自印度,newid总是来自美国,您可以根据姓名和国家差异自行加入专业表:
SELECT o.id AS oldid, n.id AS newid
INTO ProffesionMapping
FROM Proffesion o
JOIN Proffesion n ON o.name = n.name AND o.country = 'india' and n.country = 'US'
这个怎么样
SELECT OLD.ID AS OLD_ID
, NEW.ID AS NEW_ID
INTO TBL_MAP
FROM
(
SELECT *
FROM TABLE_1
WHERE ID <= 2
) OLD
INNER JOIN
(
SELECT *
FROM TABLE_1
WHERE ID > 2
) NEW
ON OLD.NAME = NEW.NAME
这个怎么样
SELECT OLD.ID AS OLD_ID
, NEW.ID AS NEW_ID
INTO TBL_MAP
FROM
(
SELECT *
FROM TABLE_1
WHERE ID <= 2
) OLD
INNER JOIN
(
SELECT *
FROM TABLE_1
WHERE ID > 2
) NEW
ON OLD.NAME = NEW.NAME
如何识别哪个是旧ID,哪个是新ID。以及如何将旧ID与新ID联系起来?嗨,Squirrel,我正在使用1个SP在table profession中插入数据,该SP将输入参数作为countryid。因此,我将印度作为@SourceIConCountryID传递,并插入我对印度的任何记录,对我们来说,这里我们是@newcountryid……你如何识别哪个是旧的,哪个是新的ID。你如何将旧的和新的联系起来?嗨,Squirrel,我正在使用1个SP在table profession中插入数据,该SP将输入参数作为countryid。所以我将印度作为@SourceIConCountryID传递,并插入我对印度的任何记录,对我们来说,这里我们是@newcountryid……这是临时解决方案。它对'n'个记录不起作用。当然,这只是分区的一个例子。核心在suqueries中。这是临时解决方案。它不适用于“n”个记录数。当然,这只是分区的一个示例。核心在suquerys中。