Sto provando a quello che pensavo sarebbe stato un semplice aggiornamento di una tabella con la somma di un'altra tabella, ma per qualche motivo, è solo l'aggiornamento di una riga. Ecco cosa le informazioni pertinenti dalle tabelle assomigliare:Aggiorna tabella con SUM da un'altra tabella
giochi
gameplayer|points
----------------
John |5
Jim |3
John |3
Jim |4
playercareer
playercareername|playercareerpoints
-----------------------------------
John |0
Jim |0
Ora in ultima analisi, vorrei l'ultima tabella a guardare come questo dopo eseguendo l'aggiornamento:
player carriera
playercareername|playercareerpoints
-----------------------------------
John |8
Jim |7
Questa è la query ho tentato che aggiorna solo la prima riga:
UPDATE playercareer
SET playercareer.playercareerpoints =
(
SELECT
SUM(games.points)
FROM games
WHERE
playercareer.playercareername=games.gameplayer
)
io non riesco a trovare la risposta a questa. Grazie in anticipo per il tuo tempo e i tuoi consigli!
Si sta utilizzando SQL Server? –
Scusa, sto usando MySQL 5.5.16. – BigJay
Ho testato il codice con SQL Server e funziona correttamente (http://sqlfiddle.com/#!3/97125/2). Forse dovresti verificare i nomi dei tuoi giocatori (forse uno ha uno spazio bianco e la partita non può essere fatta). In definitiva, ti consiglio di utilizzare ID anziché Nomi e di utilizzare una tabella relazionale. –