DBAtlas · データベース運用アトラス

512: Subquery returned more than 1 value(副クエリが複数の値を返した)

SQL Server

意味

単一の値を期待するコンテキスト (=、<、>、比較または代入) で使われた副クエリが複数行を返した。SQL Server は単一のスカラー値を期待したが、複数の値に遭遇した。

原因

比較のために単一値を返すと想定された副クエリが複数行を返す、一意でない一致条件、フィルターの欠如、または誤って構成された相関クエリ。

対処方法

副クエリを 1 行に絞る (例: TOP 1、MAX/MIN、または適切な GROUP BY)。複数の値が想定されるなら = の代わりに IN または EXISTS を使う。JOIN で書き直す。副クエリが複数行を返す理由を調べ、フィルター/キーの条件を修正する。

DBAtlas で開く →

同じデータベースの他の項目