我想选择所有不同的 orgId
的表,然后为每个不同的结果运行这个插入查询到同一个表中?
INSERT into "ffOrgs" (id, "ffId", "orgId", value, enabled, "createdAt", "updatedAt")
values (uuid_generate_v4(), 1111 , ABC, null, now(), now(), true),
( uuid_generate_v4(), 1001 , ABC, null, now(), now(), true)
( uuid_generate_v4(), 1002 , ABC, null, now(), now(), true)
( uuid_generate_v4(), 1003 , ABC, null, now(), now(), true)
例如,假设表中有5个不同的结果。orgIds
(ABC, DEF, GHI, JKL, MNO),而对于每一个orgs,我都想插入上述一组值。你如何将这两个查询结合起来?
我想你是想。
insert into fforgs (id, ffid, orgid, value, enabled, createdat, updatedat)
select uuid_generate_v4(), f.ffId, o.orgId, null, now(), true
from (select distinct ffId from ffOrgs) o
cross join (values(1111, 1001, 1002, 1003)) f(orgId)
查询选择所有不同的 ffId
桌,然后 cross join
的固定列表。ordId
值。由此产生的数据集被插入。