gpt4 book ai didi

SQL Insert Select 当select 检索多条记录时

转载 作者:行者123 更新时间:2023-11-29 14:24:54 25 4
gpt4 key购买 nike

表格:

工作站

  • 编号
  • 姓名
  • 用户编号

用户

  • 编号
  • 姓名

我的业务需求是:我想要两个新的工作站,分别为仍然没有任何工作站(工作站表中没有条目)的每个用户分别命名为“A”和“B”。

所以,它就像一个 for each。

对于我在选择中找到的每个用户,我想做两次插入(对于“A”和“B”),例如

insert into workstation(name, user_id) 
values('A', select id from user where id not in (select user_id from workstation));

这不起作用,因为“A”是硬编码的,并且选择检索多个 ID。即使它对“A”有效,对“B”肯定会失败。

最佳答案

你可以直接从select语句中插入多条记录,如下所示

insert into workstation(name, user_id) 
select 'A', id from user where id not in (select user_id from workstation)
union
select 'B', id from user where id not in (select user_id from workstation);

将它们添加到 'A''B' 在同一时间 union 都在同一语句中选择以确保您将它们添加到 'A''B' 工作站

有关更多详细信息,您可以查看 insert in postgre documentation

关于SQL Insert Select 当select 检索多条记录时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58957193/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com