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
Please also mark the comments that contributed to the solution of the article
Content-Key: 239723
Url: https://administrator.de/contentid/239723
Printed on: April 25, 2024 at 12:04 o'clock
1 Comment
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