powered by simpleCommunicator - 2.0.41     © 2025 Programmizd 02
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Назначение ID из другой таблицы
2 сообщений из 2, страница 1 из 1
Назначение ID из другой таблицы
    #40039613
Uiliop
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте, сложилась такая ситуация:
Есть 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 - пустое поле
....................
...
Рейтинг: 0 / 0
Назначение ID из другой таблицы
    #40041359
maxkar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Uiliop,

А когда "ставилось"?

Если одноразово смотрите на update from: здесь , там и примеры есть. Что-то в духе

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
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



Можно еще подзапросом сделать.

Или вам нужно чтобы "само ставилось"? Тогда смотрите на триггеры.
...
Рейтинг: 0 / 0
2 сообщений из 2, страница 1 из 1
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Назначение ID из другой таблицы
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]