如何修复mysql更新查询中的联接错误

问题描述 投票:0回答:1

enter image description here

我在mysql中遇到错误,如图所示。请帮助我

sql代码如下:

UPDATE
  tbl_users AS Users
SET
  Users.money_current = Users.money_current +
  CASE
    WHEN TempTbl.money_info IS NULL
    THEN 0
    ELSE TempTbl.money_info
  END
  LEFT JOIN
    (SELECT
      userId,
      SUM(bet_money * bet_rate) AS money_info
    FROM
      tbl_betting
    WHERE ROUND = 'xxx'
      AND is_win = 1
    GROUP BY userId) AS TempTbl
    ON Users.userId = TempTbl.userId
   FROM tbl_users AS Users;
mysql join syntax sql-update
1个回答
0
投票

这是正确的语法:

UPDATE tbl_users AS Users 
LEFT JOIN (
  SELECT userId, SUM(bet_money * bet_rate) AS money_info 
  FROM tbl_betting WHERE ROUND = '965802' AND is_win = 1 
  GROUP BY userId
) AS TempTbl ON Users.userId = TempTbl.userId
SET Users.money_current = Users.money_current + COALESCE(TempTbl.money_info, 0)

我还用CASE更改了COALESCE()表达式。

© www.soinside.com 2019 - 2024. All rights reserved.