0
別のテーブルのMAX(date)
に基づいて、テーブル内のdate
を更新しようとしています。正しいデータをリンクするには、2つの内部結合と2つの外部結合を行う必要があります。結合によるSQL Serverの更新
私は正しいデータを選択でき、Guid(PersonId)とDateを返します。
元のテーブルを更新するには、この情報を使用する必要があります。これを動作させるのに問題がありますが、まだ構文エラーが出ています。あなたはこのためにSQL Serverを使用していると仮定すると、
update tblqualityassignments as assign
inner join tblrequirementteams as team on assign.guidmemberid = team.guidmemberid
set assign.dtmQAPCLed = dtmTaken
from
(
select reg.guidpersonid, max(certs.dtmTaken) as dtmTaken from tblqualityassignments as assign
inner join tblrequirementteams as team on assign.guidmemberid = team.guidmemberid
inner join tblregisteredusercerts as reg on team.guidpersonid = reg.guidpersonid
left outer join tblcerttaken as certs on certs.guidcertid = reg.guidcertid
left outer join tblCodesCertType as types on types.intcerttypeid = certs.intcerttypeid
where types.intcerttypeid = 1
and assign.guidmemberid = team.guidmemberid
group by reg.guidpersonid as data
)
where data.guidpersonid = team.guidpersonid
メッセージ156、レベル15、状態1、行17 不正な構文を。 – EvanGWatkins
また、whereステートメントはguidperson id = data.guidpersonidを持つ必要があり、それを得るためには内部でtblrequirementteamsと結合する必要があります。whereステートメントでどのように処理しますか? – EvanGWatkins
@EvanGWatkins - ありがとう、私の答えを更新しました。それが動作するかどうか私に教えてください – Lamak