したがって、3 つのテーブルがあり、最初の 2 つの値を計算し、3 番目のテーブルのフィールドをその値で更新する必要があります。エラーが発生します。
UPDATE Characters AS c
SET c.Total_DKP = (
(SELECT c.Initial_DKP
FROM c
WHERE c.Name='harrian')-
(SELECT SUM(a.DKP_Change)
FROM Attendance AS a
WHERE a.Name = 'harrian')
)
WHERE c.Name = 'harrian' ;
それはエラーを与える
Table 'harrian.c' doesn't exist
しかし、私が走るとき
UPDATE Characters AS c
SET c.Total_DKP = ( SELECT SUM(a.DKP_Change)
FROM Attendance AS a
WHERE a.Name = 'harrian'
)
WHERE c.Name = 'harrian'
問題はありません。最初のブロックの何が問題なのか誰か教えてもらえますか?
ここに完全なクエリがあります-
UPDATE Characters AS c
SET c.Total_DKP = (
(SELECT c.Inital_DKP FROM Characters AS c WHERE c.Name = 'harrian')
+(SELECT SUM(a.DKP_Change) FROM Attendance AS a WHERE a.Name = 'harrian')
+(SELECT SUM(b.Cost) FROM Raid_Drops AS b WHERE b.Player_Name = 'harrian')
)
WHERE c.Name = 'harrian' ;
私は今、このエラーが発生しています
You can't specify target table 'c' for update in FROM clause