【发布时间】:2016-12-09 20:29:47
【问题描述】:
我正在 Postgres 中构建迁移,我需要为每个组织添加一个新用户。
假设我有树表:
- 用户
- 组织
- user_org
并且组织列表已经存在于数据库中。
现在我正在根据其他用户和修改过的数据创建新用户,如下所示:
insert into users
select
...
from users where ...
returning id
我现在需要将每个用户与一个组织相关联(假设创建的用户数和组织数匹配)。
cross join 不起作用,因为它会将所有用户关联到所有组织。
鉴于新创建的用户具有不同的键,我从中复制的用户列表已经与组织关联,是否有一种简单的方法可以基于此构建我的查询?
【问题讨论】:
-
不确定我是否完全理解您的问题。假设您有 10 个组织,您想插入 10 个用户,每个组织 1 个?也许样本数据和预期结果会有所帮助。
-
Postgres 版本和表定义会膨胀。
标签: sql postgresql many-to-many sql-insert