我试图用where子句更新两个表的内部连接。
我目前有一个选择,得到的结果,我想更新。但我在尝试更新时总是遇到错误。
以下是我的精选作品:

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”(FROM)不是此位置的有效输入。

ID |路| 1 |总分
挑选
身份证

最佳答案

以下是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。
注意:我将表别名更改为表的缩写。有意义的表别名(如缩写)使查询更易于理解。

09-17 05:32