次の SQL Server 2008 テーブルがあります。
ID 目的地 最終結果 01 (555) 319-5170 切断 02 (555) 319-5170 重複 03 (555) 319-5170 重複 04 (555) 261-5000 重複 05 (555) 261-5000 重複 06 (555) 261-7325 ビジー 07 (555) 261-7325 重複 08 (555) 261-7345 無回答 09 (555) 261-7345 重複
私の目標は、一致するすべての電話番号の「最終結果」列を動的に設定することです。したがって、上記の宛先 ((555) 319-5170) の表の例では、一致するすべての電話番号 (555) 319-5170) の結果が値「切断」になります。サンプルの更新ステートメントは次のとおりです。
更新 C SET [最後の結果] = ( 目的地を選択 FROM コール WHERE [最後の結果] NOT IN ('Duplicate','No Phone #') GROUP BY 宛先 HAVING COUNT(宛先) > 1) FROM コール C 内部結合 ( 目的地を選択 FROM コール WHERE [最後の結果] NOT IN ('Duplicate','No Phone #') GROUP BY 宛先 HAVING COUNT(目的地) > 1 ) Dup ON Dup.Destination = C.Destination WHERE C.[最終結果] NOT IN ('Duplicate','No Phone #')
しかし、私はエラーが発生しています:
メッセージ 512、レベル 16、状態 1、行 1
サブクエリが複数の値を返しました。サブクエリが =、!=、<、<=、>、>= の後にある場合、またはサブクエリが式として使用されている場合、これは許可されません。
**期待される出力**: ID 目的地 最終結果 01 (555) 319-5170 切断 02 (555) 319-5170 切断 03 (555) 319-5170 切断 04 (555) 261-5000 重複 05 (555) 261-5000 重複 06 (555) 261-7325 ビジー 07 (555) 261-7325 ビジー 08 (555) 261-7345 無回答 09 (555) 261-7345 無回答
可能な解決策についてご支援いただきありがとうございます。