Я хочу создать таблицу сопоставления, в которой я хочу сохранить old_id и соответствующий ей new_id - PullRequest
1 голос
/ 16 апреля 2019

У меня есть 2 таблицы профессия и уровень. Я добавляю новый идентификатор для того же уровня и той же профессии. Так что в таблице есть как newid, так и oldid. Но теперь я хочу создать таблицу сопоставления, которая будет содержать это сопоставление.

У меня есть это:

Профессия

id  name    country
1   doctor  india
2   nurse   india
11  doctor  US
22  nurse   US

Я хочу:

Таблица ProfessionMapping

Oldid   Newid
1       11
2       22

И то же самое относится и к таблице уровней.

Ответы [ 2 ]

0 голосов
/ 16 апреля 2019

Как насчет этого?

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
0 голосов
/ 16 апреля 2019

Предполагая, что oldid всегда происходит из Индии, а newid всегда происходит из США, вы можете самостоятельно присоединиться к таблице profession в соответствии с именем и в зависимости от страны:

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'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...