私はこのクエリを実行しようとしています:
UPDATE
arc_salon_credit_exposant AS asce
SET
asce.asce_credit_restant =
(
SELECT
SUM(asce_credit_restant)
FROM
arc_salon_credit_exposant
WHERE
asce_scre_id = '524' AND
asce_sexp_id = '719' AND
(asce_fam_id is NULL OR
asce_fam_id = '168')
)
WHERE
asce.asce_scre_id = '524' AND
asce.asce_sexp_id = '719' AND
asce.asce_fam_id is NULL
しかし、得られるのは mysql エラーだけです (#1093 - FROM 句での更新にターゲット テーブル 'asce' を指定できません)。ここstackoverflowでいくつかの質問を読みました(そのため、エイリアスを使用してみました)が、機能させることができません。Mysqlが一時テーブルを作成するようにクエリを作成する必要があることはわかっていますが、..これを実行できません。ちょっとここで立ち往生。
テーブルの構造は次のとおりです。
Column name Type Null Défaut
asce_id int(11) Non
asce_scre_id int(11) Non
asce_sexp_id int(11) Non
asce_credit_restant double Oui NULL
asce_fam_id int(11) Oui NULL
そして、ここにいくつかのデータがあります:
asce_id asce_scre_id asce_sexp_id asce_credit_restant asce_fam_id
35 524 7885 4900 ヌル
17 524 719 200 ヌル
45 524 719 100 168
44 524 7885 100 168
前もって感謝します