【发布时间】:2011-02-03 23:20:08
【问题描述】:
这就是我想要实现的目标:
涉及4张表:
- 以 PlayerID 为 PK 的玩家,
- 以 CompetID 为 PK 的比赛
- ResultID 为 PK 和 CompetID 为 FK 的结果
还有第四张表:我创建的新列是 ResultID + PlayerID 作为 PK 和 CompetID 作为新列的 PlayerResultts。
比赛、结果和 PlayerResults已经被填充并且相当大(目前有 300000 个 PlayerResults)。
为了填充 PlayerResults.CompetID 列,我尝试了 Update ... (Select....) 请求,但我不知道正确的语法并且它失败了。
这是我微弱的尝试:
update PlayerResults
set competid = (select distinct(r.competid) from results r, playerresults p
where r.resultID = p.resultid)
错误是(当然):
“消息 512,第 16 级,状态 1,第 1 行 子查询返回超过 1 个值。当子查询跟随 =、!=、、>= 或子查询用作表达式时,这是不允许的。"
有人能把我引向正确的方向吗? TIA
【问题讨论】:
-
您需要接受更多答案。
-
再次评论接受答案!我接受有用的答案,没问题。我不接受任何只是为了取悦别人,对不起......
标签: sql sql-server syntax sql-update