Doppelten Datensatz suchen und Wert erhöhen
Moin,
es gingen mir schon alle Suchbegriffe beim googlen aus um eine SQL Abfrage zu basteln die folgendes tun soll.
wenn ein Wert in einer Spalte doppelt ist soll der um Bsp. 2000 erhöht werden.
db spiele
ist:
spieler..... spiel
1................123
2................123
soll:
spieler..... spiel
1................123
2................2123
es gingen mir schon alle Suchbegriffe beim googlen aus um eine SQL Abfrage zu basteln die folgendes tun soll.
wenn ein Wert in einer Spalte doppelt ist soll der um Bsp. 2000 erhöht werden.
db spiele
ist:
spieler..... spiel
1................123
2................123
soll:
spieler..... spiel
1................123
2................2123
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 239723
Url: https://administrator.de/forum/doppelten-datensatz-suchen-und-wert-erhoehen-239723.html
Ausgedruckt am: 23.12.2024 um 16:12 Uhr
1 Kommentar
Hallo,
unter den Voraussetzungen, dass a) die Spalte "spieler" der eindeutige Primärschlüssel ist und b) der höhere "spieler"-Eintrag erhöht werden soll, wäre das wohl (für "tabellenname" den Namen der DB-Tabelle eintragen):
Ist "spieler" nicht eindeutig (unique), dann müsstest Du -glaube ich- über die "rowid" gehen - in der Anweisung überall "spieler" durch "rowid" ersetzen.
Anweisung ungetestet.
Gruß,
Gersen
unter den Voraussetzungen, dass a) die Spalte "spieler" der eindeutige Primärschlüssel ist und b) der höhere "spieler"-Eintrag erhöht werden soll, wäre das wohl (für "tabellenname" den Namen der DB-Tabelle eintragen):
update tabellenname set spiel=spiel+2000 where spieler = (select t2.spieler from tabellenname t1, tabellenname t2 where t1.spiel = t2.spiel and t2.spieler > t1.spieler)
Ist "spieler" nicht eindeutig (unique), dann müsstest Du -glaube ich- über die "rowid" gehen - in der Anweisung überall "spieler" durch "rowid" ersetzen.
Anweisung ungetestet.
Gruß,
Gersen