ホームページ >データベース >mysql チュートリアル >非スカラー サブクエリから SQL Server テーブルに複数の行を挿入するにはどうすればよいですか?
非スカラー サブクエリからテーブルへの値の挿入
SQL Server で、返されるサブクエリに基づいてテーブルに値を挿入する複数の結果が得られるのは難しい場合があります。次のシナリオを考えてみましょう:
2 つのテーブルがあります:
に行を挿入したいとします。 group、id、および price 列の特定の値を含む prices テーブル。id の値は次のとおりです。 記事から一致する ID を選択するサブクエリから派生table.
間違ったアプローチ:
INSERT ステートメントの列の値として複数の結果を持つサブクエリを使用しようとすると、エラーが発生する可能性があります。次の誤った SQL ステートメントで示されています:
INSERT INTO prices (group, id, price) VALUES (7, (select articleId from article WHERE name LIKE 'ABC%'), 1.50);
正しい解決策:
この問題を解決するには、SELECT ステートメントを使用して必要な値を取得し、ターゲット テーブルに挿入します。 SELECT ステートメント内で、group 列と price 列の定数値を直接割り当てます。
insert into prices (group, id, price) select 7, articleId, 1.50 from article where name like 'ABC%';
このステートメントでは、サブクエリは次の値を返します。指定された名前基準に一致する記事 ID と、定数値 7 および 1.50 が明示的に割り当てられます。 グループ 列と 価格 列。
以上が非スカラー サブクエリから SQL Server テーブルに複数の行を挿入するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。