Update über 2 Tabellen

Hallo,
kann mir jemand sagen warum das hier:

update t2
set t2.letztes_datum:=select(max(t1.datum))
where t2.id=t1.usr

nicht funktioniert?

Also überall wo t2.id und t1.usr gleich sind,
soll in t1 geschaut werden welches DAtum dafür das letzte ist und
das soll dann in das entsprechende Feld vom bestimmten Datensatz in t2 geschrieben werden.

Verstehe nicht wieso das so nicht funktioniert.

Danke schon mal.
Gruß
K.

Hallo,

ganz einfach, weil das FROM fehlt

update t2
set t2.letztesDatum = (select max(t1.datum) from t1 where t1.id = t2.id)

Gruß

Peter

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Hallo,

Hallo,

ganz einfach, weil das FROM fehlt

Ja stimmt. Das From habe ich aber nur hier im Posting vergessen. Geht auch sonst nicht.

Gruß
K.

update t2
set t2.letztesDatum = (select max(t1.datum) from t1 where
t1.id = t2.id)

Gruß

Peter

Hallo,
kann mir jemand sagen warum das hier:

update t2
set t2.letztes_datum:=select(max(t1.datum))
where t2.id=t1.usr

nicht funktioniert?

Also überall wo t2.id und t1.usr gleich sind,
soll in t1 geschaut werden welches DAtum dafür das letzte ist
und
das soll dann in das entsprechende Feld vom bestimmten
Datensatz in t2 geschrieben werden.

Verstehe nicht wieso das so nicht funktioniert.

Danke schon mal.
Gruß
K.

Hi,
dann wäre es an der Zeit die verwendete DB zu nennen und die Fehlermeldung/Fehlerbeschreibung.

Jens

update t2

set t2.letztes_datum:=select(max(t1.datum))
where t2.id=t1.usr

Mal von eine Oracle-DB ausgehend:

update tabelle2 t2
set t2.letztes_datum = (select max(t1.datum)
from tabelle1 t1
where t2.id = t1.usr);

Fehler im Update entdeckt:

  1. der Sub-Select muss in Klammer stehn
  2. (schon erwähnt worden/übertragungsfehler) FROM im Sub-Select fehlt
  3. Beim SET-Befehl muss = und nicht := stehen
  4. beim Verwenden von Alias muss der Tabellenname da stehn und dahinter der Alias (also Tabelle1 t1; nur t1 reicht nicht, es sei denn es ist der Tabellenname dann t1 t1)
  5. mgl. Fehlerquelle: t1.usr entspricht (nicht) t2.id
  6. mgl. Fehlerquelle: t2.letztes_datum hat nicht selbes Spaltenformat wie t1.datum

Mehr Fehlerquellen / Fehler fallen mir spontan nicht ein.

Gruß
Andreas