首頁 > 資料庫 > mysql教程 > 如何在 SQL Server INSERT 期間處理子查詢的多個結果?

如何在 SQL Server INSERT 期間處理子查詢的多個結果?

Barbara Streisand
發布: 2025-01-06 00:01:41
原創
922 人瀏覽過

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中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板