T-SQL クエリを数時間作成しようとしています。Googleとフォーラムの検索は役に立たなかったので、誰かが私を助けてくれることを願っています.
と の 2 つのテーブルがChangeありJournalます。の各行にChangeは、関連する 5 つの行がありJournalます。
私がしたいCreatedDateTimeのは、特定の関連行の列値 ( ) を からのJournal列にコピーすることAuthorizationDateですChange。これは、 のすべての行に対して行う必要がありますChange。
これは私がこれまでに達成したことです:
UPDATE Change
SET Change.ap_ITSM_MDP_AuthorizationDate =
( SELECT Journal.CreatedDateTime
FROM Journal
JOIN Change
ON Journal.Parentlink_RecID = Change.RecID
WHERE ITSM_ChangeNotes_Subject = 'Status changed to: Authorized'
AND Change.RecID = Journal.ParentLink_RecID
)
残念ながら、次のエラー メッセージが表示されます。
メッセージ 512、レベル 16、状態 1、行 1 サブクエリが複数の値を返しました。サブクエリが =、!=、<、<=、>、>= の後にある場合、またはサブクエリが式として使用されている場合、これは許可されません。ステートメントは終了されました。
WHERE句()で結果を1つに制限したと思いましたChangeNotes_Subject = '...'。私は何を間違えましたか?