Добро пожаловать в форум, Guest >> Войти | Регистрация | Поиск | Правила | | В избранное | Подписаться | ||
Все форумы / PostgreSQL |
![]() ![]() |
Uiliop Member Откуда: Сообщений: 1 |
Здравствуйте, сложилась такая ситуация: Есть 2 таблицы: уникальные значения (табл №1) и неполные дубли уникальных (табл №2), вопрос такой, а как сделать так чтобы в Таблице №2 в поле new_id ставилось значение из таблицы №1 id оригинальной записи, чтобы было: id - имя - фамилия - дата рождения - email - new_id 10 - Саша - Иванов - 01.02.2000 - ivan@mail.ru - 1 11 - Саша - Иванов - 01.02.2000 - ivan@mail.ru - 1 12 - Ваня - Сидоров - 02.03.2000 - sidr@mail.ru - 2 13 - Ваня - Сидоров - 02.03.2000 - sidr@mail.ru - 2 14 - Ваня - Сидоров - 02.03.2000 - sidr@mail.ru - 2 15 - Таня - Ваникова - 04.01.2000 - tanya@mail.ru - 3 16 - Таня - Ваникова - 04.01.2000 - tanya@mail.ru - 3 17 - Таня - Ваникова - 04.01.2000 - tanya@mail.ru - 3 18 - Таня - Ваникова - 04.01.2000 - tanya@mail.ru - 3 19 - Лида - Семенова - 04.05.2000 - lidya@mail.ru - 4 20 - Лида - Семенова - 04.05.2000 - lidya@mail.ru - 4 ................................................. Таблица №1. Оригинальная таблица с уникальными значениями. id - имя - фамилия - дата рождения - email 1 - Саша - Иванов - 01.02.2000 - sasha@mail.ru 2 - Ваня - Сидоров - 02.03.2000 - sidr@mail.ru 3 - Таня - Ваникова - 04.01.2000 - tanya@mail.ru 4 - Лида - Семенова - 04.05.2000 - lidya@mail.ru .................................. Таблица №2. Дубли оригинальной таблицы №1. id - имя - фамилия - дата рождения - email - new_id 10 - Саша - Иванов - 01.02.2000 - ivan@mail.ru - пустое поле 11 - Саша - Иванов - 01.02.2000 - ivan@mail.ru - пустое поле 12 - Ваня - Сидоров - 02.03.2000 - sidr@mail.ru - пустое поле 13 - Ваня - Сидоров - 02.03.2000 - sidr@mail.ru - пустое поле 14 - Ваня - Сидоров - 02.03.2000 - sidr@mail.ru - пустое поле 15 - Таня - Ваникова - 04.01.2000 - tanya@mail.ru - пустое поле 16 - Таня - Ваникова - 04.01.2000 - tanya@mail.ru - пустое поле 17 - Таня - Ваникова - 04.01.2000 - tanya@mail.ru - пустое поле 18 - Таня - Ваникова - 04.01.2000 - tanya@mail.ru - пустое поле 19 - Лида - Семенова - 04.05.2000 - lidya@mail.ru - пустое поле 20 - Лида - Семенова - 04.05.2000 - lidya@mail.ru - пустое поле .................... |
28 янв 21, 12:47 [22270672] Ответить | Цитировать Сообщить модератору |
maxkar Member Откуда: Сообщений: 168 |
Uiliop, А когда "ставилось"? Если одноразово смотрите на update from: здесь, там и примеры есть. Что-то в духе UPDATE "Таблица №2" AS t2 SET new_id = t1.id FROM "Таблица №1" AS t1 WHERE t2."имя" = t1."имя" AND t2."фамилия" = t1."фамилия" AND t2."дата рождения" = t1."дата рождения" AND t2.email = t1.email Можно еще подзапросом сделать. Или вам нужно чтобы "само ставилось"? Тогда смотрите на триггеры. |
3 фев 21, 21:32 [22274353] Ответить | Цитировать Сообщить модератору |
Все форумы / PostgreSQL | ![]() |