解决具有多个结果的子查询值插入
您在 SQL Server 中有两个表:Article 和 Price。您想要使用子查询将某些 ID 从文章插入到价格中以选择 ID。但是,使用以下代码时,您会遇到“子查询有超过 1 个值”的错误:
INSERT INTO prices (group, id, price) VALUES (7, (select articleId from article WHERE name LIKE 'ABC%'), 1.50);
出现此问题的原因是子查询返回多个 ID,因为可能有多个文章与 'ABC% 匹配' 标准。在这种情况下,您需要按如下方式修改查询:
insert into prices (group, id, price) select 7, articleId, 1.50 from article where name like 'ABC%';
此修改后的查询在子查询旁边显式指定常量值(组:7,价格:1.50)以选择文章 ID。通过分隔常量值,您可以避免对每个 ID 进行子查询计算,从而解决多个结果值的问题。
以上是如何在 SQL Server INSERT 期间处理子查询的多个结果?的详细内容。更多信息请关注PHP中文网其他相关文章!