这就是我想要实现的目标:
涉及4个表:
第4个表:PlayerResultts,ResultID + PlayerID为PK,CompetID为我创建的新列。
比赛,结果和PlayerResults 已经填充且非常大(到目前为止已有300,000个PlayerResults)。
为了填充PlayerResults.CompetID列,我尝试更新...(选择....)请求,但我不知道正确的语法,但它失败了。
这是我的微弱尝试:
update PlayerResults
set competid = (select distinct(r.competid) from results r, playerresults p
where r.resultID = p.resultid)
错误(当然):
“Msg 512,Level 16,State 1,Line 1 子查询返回的值超过1。当子查询遵循=,!=,<,< =,>,> =或子查询用作表达式时,不允许这样做。“
有人能让我朝着正确的方向前进吗? TIA
答案 0 :(得分:2)
您不需要明确的
update PlayerResults
set competid = r.competid
from results r
where r.resultID = PlayerResults.resultid