Я строю миграцию в Postgres, где мне нужно добавить одного нового пользователя для каждой организации.Как построить отношения, используя данные из двух таблиц?
Если предположить, что у меня есть дерево таблицы:
- пользователя
- орг
- user_org
и список организаций, уже существующих в БД.
Теперь я создаю новые пользователь на основе других пользователей и измененные данных, например так:
insert into users
select
...
from users where ...
returning id
Что мне теперь нужно связать каждый пользователь к одной организации (при условии, что количество созданных пользователей и числа Оргов соответствия).
cross join
не будет работать, так как он свяжет всех пользователей со всеми организациями.
Список пользователей, которых я копирую из уже связанных с orgs, есть простой способ построить мой запрос на основе этого, учитывая, что у вновь созданных пользователей есть разные ключи?
Не уверен, что я полностью понять ваш вопрос. Предполагая, что у вас 10 организаций, вы хотите вставить 10 пользователей, 1 на каждую организацию? Возможно, полезны примеры данных и ожидаемые результаты. – sgeddes
@sgeddes Правильно –
. Версия Postgres и определения таблиц будут раздутыми. –