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

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

Barbara Streisand
Barbara Streisand原創
2025-01-06 00:01:41981瀏覽

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