使用两个 INNERJOIN 和 WHERE 进行 MariaDB 更新

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

我们想要使用两个 INNER JOIN 执行更新,但无法解释为什么这不起作用。你能帮助我们吗?

UPDATE problems
SET problems.PROBLEM = CONCAT ('XX', problems.PROBLEM)
FROM problems
 INNER JOIN
  icdtencodes
  ON
  problems.REF_ICDTENCODE = icdtencodes.ICD_ROWID

  INNER JOIN
  solvingmethods
  ON
  icdcodes.REF_SOLVINGMETHOD = solvingmethods.ICD.ROWID
WHERE
 (solvingmethods.SOLVINGMETHOD LIKE 'R' OR solvingmethods.SOLVINGMETHOD LIKE 'K'
 AND (d.ICD_FIX_REVISION LIKE '')

我们收到错误代码:1064 - 您在线 SQL 语法错误... 问题应该出在FROM

我们将 INNER JOIN 与 SET 进行了切换,但遇到了同样的问题。

mariadb heidisql
1个回答
0
投票

正确的语法是:

UPDATE problems INNER JOIN
  icdtencodes
  ON
  problems.REF_ICDTENCODE = icdtencodes.ICD_ROWID

  INNER JOIN
  solvingmethods
  ON
  icdcodes.REF_SOLVINGMETHOD = solvingmethods.ICD.ROWID

SET problems.PROBLEM = CONCAT ('XX', problems.PROBLEM)
 WHERE
 (solvingmethods.SOLVINGMETHOD LIKE 'R' OR solvingmethods.SOLVINGMETHOD LIKE 'K'
 AND (d.ICD_FIX_REVISION LIKE '')

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