Hallo,
ich möchte in meiner Tabelle, den aktuellsten Eintrag zu einem bestimmten Schlüssel ändern, es kann sich dabei aber um mehrere Datensätze handeln, weil es noch einen zweiten Schlüssel gibt.
Meine Vorstellung war ein Update mit Subquery:
UPDATE tablle A
SET feld = 'bla bla'
WHERE schluessel1 = 'xyz'
and timestamp = (SELECT MAX(B.timestamp)
FROM tabelle B
WHERE A.schluessel1 = B.schluessel1
AND A.schluessel2 = B.schluessel2)
MYSQL mag aber keine Updates, bei denen im Subselect die selbe Tabelle verwendet wird.
Hat jemand noch eine elegantere Lösung, als sich mit
SELECT schluessel2, timestamp
FROM tablle A
WHERE schluessel1 = 'xyz'
and timestamp = (SELECT MAX(B.timestamp)
FROM tabelle B
WHERE A.schluessel1 = B.schluessel1
AND A.schluessel2 = B.schluessel2)
alle schluessel2 mit den dazugehörigen timestamp zu holen und anschliessend den
UPDATE tabelle
WHERE schluessel1= 'xyz'
AND schluessel2= 'schluessel2 aus query1'
and timestamp = 'timestamp aus query1'
für alle schluessel2 durchzuführen.
Danke für Eure Hilfe
hambam66