使用where子句更新2个表的内部联接

莎莉·拉哈尔(Sari Rahal)

我正在尝试使用where子句对2个表的内部联接进行更新。我目前有一个选择,可以获取要更新的结果。但是在尝试进行更新时,我总是收到错误消息。这是我的选择有效:

SELECT a.rd_1, total_points 
FROM bracket.ticket as a
Inner join bracket.picks as b 
where 
b.team_ID = 31 AND a.ID = b.ticket_ID

这是我的更新不起作用

UPDATE a 
set a.rd_1 = a.rd_1 + 1 
FROM bracket.ticket as a
Inner join bracket.picks as b 
    where 
    b.team_ID = 31 AND a.ID = b.ticket_ID

我也尝试过这个:

UPDATE a 
SET a.rd_1 = a.rd_1 + 1 
FROM bracket.ticket as a
Inner join bracket.picks as b 
    on a.ID = b.ticket_ID
where 
b.team_ID = 31 AND a.ID = b.ticket_ID

我在这里得到的错误是:语法错误:“ FROM”(来自)在此位置不是有效输入。

ID | rd_1 | 总积分

选择

ID | ticket_ID | team_ID

戈登·利诺夫(Gordon Linoff)

这是MySQL中的正确语法:

UPDATE bracket.ticket t INNER JOIN
       bracket.picks p
       ON t.ID = p.ticket_ID
    SET t.rd_1 = t.rd_1 + 1 
WHERE p.team_ID = 31;

您的语法看起来更像SQL Server。

注意:我将表别名更改为表的缩写。有意义的表别名(例如缩写)使查询更易于理解。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章