0
我试图在表中更新date
,这是基于另一个表中的MAX(date)
。为了获得正确的数据链接,我必须做2个内连接和2个左外连接。带有连接的SQL Server更新
我可以选择正确的数据,它会返回一个Guid(PersonId)和Date。
我必须使用这些信息来更新我的原始表格。我无法让这个工作,我仍然得到语法错误。
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,并且A必须与tblrequirementteams进行内部连接才能获得该结果,那么如何在where语句中处理连接? – EvanGWatkins
@EvanGWatkins - 好的,更新了我的答案。让我知道它是否有效 – Lamak