私はすべての組織に1人の新しいユーザーを追加する必要があるPostgresで移行を構築しています。2つのテーブルのデータを使用してリレーションシップを構築するにはどうすればよいですか?
私は木のテーブルを持っていると仮定すると:
- ユーザー
- 組織
- user_org
や団体のリストには、すでにDBに存在しています。
今、私は他のユーザーとそのような修正されたデータに基づいて、新しいユーザーを作成しています:私は今、必要なもの
insert into users
select
...
from users where ...
returning id
は1つの組織にすべてのユーザーを関連付けることである(作成されたユーザとORGSの数字の数を想定しマッチング)。
cross join
は、すべてのユーザーをすべての組織に関連付けるので機能しません。
私はすでに組織に関連付けられているからコピーしているユーザーのリストは、新しく作成されたユーザーが異なるキーを持っているので、それに基づいて私のクエリを簡単に構築できますか?
必ず私は完全にあなたの質問を理解していません。 10個の組織があると仮定すると、各組織に1人ずつ、10人のユーザーを挿入しますか?おそらくサンプルデータと期待される結果が役立つでしょう。 – sgeddes
@sgeddes Correct –
Postgresのバージョンとテーブルの定義が大きくなります。 –