0

こんにちは私はグーグルで答えを検索しようとしましたが、私がこの問題を最初に抱えていなくても見つかりませんでした。私が間違っているならすみません...

テーブルの値を条件付きの別のテーブルに入れて、結合を残したいと思います。これが私の質問ですが、うまくいきません。理由がよくわかりません。

UPDATE `table1`
SET `table1`.`field1` = `table2`.`value`
FROM  `table1`
LEFT JOIN `table2` ON `table2`.`idt1`=`table1`.`id`
WHERE `id`='35520'

次のように表示されます。#1064-SQL構文にエラーがあります。3行目のFROMの近くで使用する正しい構文については、MySQLサーバーのバージョンに対応するマニュアルを確認してください。

何か提案があれば、それを聞いてとてもうれしく思います、ありがとう!

バスティエン

4

2 に答える 2

3

このように試しましたか?

UPDATE `table1`
SET `table1`.`field1` = (
  SELECT `table2`.`value`
  FROM `table2`
  WHERE `table2`.`idt1`=`table1`.`id`
)
WHERE `id`='35520'
于 2012-08-10T05:57:52.617 に答える
1

構文が間違っています。SQLのフレーバーがそれをサポートしている場合は、次を試してください。

UPDATE `table1`
LEFT JOIN `table2` ON `table2`.`idt1`=`table1`.`id`
SET `table1`.`field1` = `table2`.`value`
WHERE `id`='35520'

それ以外の場合は、サブクエリが必要になります。

UPDATE `table1`
SET `table1`.`field1` = (SELECT `table2`.`value`
                         FROM `table2`
                         WHERE `table2`.`idt1`=`table1`.`id`)
WHERE `id`='35520'
于 2012-08-10T05:58:39.443 に答える