首页 > 数据库 > mysql教程 > 如何在 SQL Server INSERT 期间处理子查询的多个结果?

如何在 SQL Server INSERT 期间处理子查询的多个结果?

Barbara Streisand
发布: 2025-01-06 00:01:41
原创
1008 人浏览过

How to Handle Multiple Results from a Subquery During SQL Server INSERT?

解决具有多个结果的子查询值插入

您在 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中文网其他相关文章!

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板