Hallo Zusammen!
Hoffe, mir kann jemand helfen:
Ich möchte in meiner Datenbank bestimmte Werte nach bestimmten Kriterien updaten, aber irgendwie funktioniert das nicht.
Ich habe die Datenbank "Team" und die Datenbank "Spieler"
Datenbank Team hat die Spalten
"ID" und "Liga"
Datenbank Spieler hat die Spalten
"Team-ID" und "Stärke"
Was ich nun möchte ist, dass alle Spieler deren Teams in Liga 1 spielen, die Berechnung Stärke + 1 erhalten.
Und so sieht der Befehl aus:
Update spieler Set stärke = stärke +1 Where (Select id from team where team.id = spieler.team-id AND team.liga = 1);
Soweit, so gut, das funktioniert eigentlich. Nur die Spieler, die in Liga 1 spielen, erhalten +1 in der Stärke. Aber das Problem ist, dass diese Berechnung x-fach ausgeführt wird. Die Spieler erhalten so oft +1, wie es Spieler in Liga 1 gibt. Gibt es also 50 Spieler in Liga 1, erhalten diese Spieler +50 auf ihre Stärke.
Was stimmt an dem Befehl nicht? Warum wird es x-fach ausgeführt! Was muss ich ändern?
Vielen Dank schon mal im Vorraus,
scabinho