512: Subquery returned more than 1 value(副クエリが複数の値を返した)
SQL Server意味
単一の値を期待するコンテキスト (=、<、>、比較または代入) で使われた副クエリが複数行を返した。SQL Server は単一のスカラー値を期待したが、複数の値に遭遇した。
原因
比較のために単一値を返すと想定された副クエリが複数行を返す、一意でない一致条件、フィルターの欠如、または誤って構成された相関クエリ。
対処方法
副クエリを 1 行に絞る (例: TOP 1、MAX/MIN、または適切な GROUP BY)。複数の値が想定されるなら = の代わりに IN または EXISTS を使う。JOIN で書き直す。副クエリが複数行を返す理由を調べ、フィルター/キーの条件を修正する。
同じデータベースの他の項目
- 245Conversion failed when converting the value to data type(データ型への値の変換に失敗)
- 515Cannot insert the value NULL into column(列に NULL 値を挿入できない)
- 8115Arithmetic overflow error converting expression to data type(式のデータ型への変換で算術オーバーフロー)
- 207Invalid column name(無効な列名)
- 156Incorrect syntax near the keyword(キーワード付近の構文が不正)
- 2812Could not find stored procedure(ストアドプロシージャが見つからない)
- 8623The query processor ran out of internal resources and could not produce a query plan(クエリプロセッサの内部リソース不足で実行計画を生成できない)