2016-05-15 6 views
-2

SQL Serverデータベーステーブルに追加するトリガを作成しようとしていますが、テーブルにデータを追加すると、このメッセージが表示されます。SQL Serverサブクエリが1より大きい値を返しました。トリガーを使用してサブクエリ=、<, <= , >、> =、を使用する場合、これは許可されていません

SQL Serverサブクエリが1より大きい値を返しました。 !サブクエリが続く場合これは、あなたがこの問題を解決するための任意のアイデアをしている場合、私を助けてください=、=、<、< =、>、> =

を許可されていません。

私の挨拶。

SELECT foo 
FROM Bar 
WHERE baz = (
     SELECT baz 
     FROM Whatsit 
     WHERE a = 42 
); 

()のビットがサブクエリです:

+2

私たちが見ることのできないコードであなたを助けることは不可能です。エラーメッセージは非常に明確です。したがって、複数の行を返すことができないようにサブクエリを変更するか、サブクエリを使用しないようにコードを書き直す必要があります。 –

答えて

0

問題は、あなたがこのようなものを持っています。サブクエリが複数の行を返すときは、SQL Serverは比較にどの行の値を使用するかわからないため、これを行うことはできません。

解決策はあるのいずれか:それは唯一の単一の行を返すよう

  1. は、サブクエリを変更、または

  2. が使用する全体的なステートメントを変更

参加するあなたを特定のクエリに依存します。

0

=または!=を使用している場合は、代わりにINまたはNOT INを使用できます。また、何をしようとしているかに応じて、EXISTSまたはNOT EXISTSを使用することもできます。

関連する問題

 関連する問題