hambam66: Update mit Subselect Fehler 1093

Beitrag lesen

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