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 = '...'
。私は何を間違えましたか?