我在Postgres中构建一个迁移,我需要为每个组织添加一个新用户。如何使用来自两个表的数据建立关系?
假设我有树表:
- 用户
- 组织
- user_org
,并在数据库已经存在的机构名单。
现在我根据其他用户和修改后的数据,像这样创建新用户:
insert into users
select
...
from users where ...
returning id
我现在需要的是每个用户(关联到一个组织的假设数创建的用户和机构单位的数匹配)。
cross join
不会工作,因为它会将所有用户关联到所有组织。
我从已经与orgs关联的用户列表中,有一种简单的方法可以基于此建立我的查询,因为新创建的用户具有不同的密钥?
不知道我完全理解你的问题。假设你有10个组织,你想插入10个用户,每个组织有1个用户?也许样本数据和预期结果会有所帮助。 – sgeddes
@sgeddes正确 –
Postgres版本和表定义将会膨胀。 –