[SQL] Update über zwei Tabellen

H

Hedonismbot

Hallo!

Kann mir jemand helfen? Ich habe zwei Tabellen:

A)
Datum
Wert
Schnitt

B)
Datum
Schnitt

In Tabelle A sind zu jedem Datum mehrere Einträge mit entsprechenden Werten vorhanden. Ich wollte jetzt zu jedem Datum den Tagesschnitt ausrechnen, was ich in Tabelle B erledigt habe.

Die Tabellen sehen ungefähr so aus:

A)
Datum Wert Schnitt
14.01.2005 1,5
14.01.2005 4
14.01.2005 9
14.01.2005 2,5
15.01.2005 7
15.01.2005 4

B)
Datum Schnitt
14.01.2005 4,25
15.01.2005 5,5

So, und nun möchte ich den ausgerechneten Schnitt in A eintragen.

Mein erster Versuch sieht ungefähr so aus:

UPDATE a
SET a.schnitt = b.schnitt
where a.datum = b.datum

Naja, das kann aber nicht hinhauen, wegen der Mehrdeutigkeit. Mir fehlt aber gerade die zündende Idee...
 
Ich versteh nicht ganz, warum du das in Tabelle A nochmal schreiben willst.
Du blähst damit doch nur deine DB auf und erhälst redundante Daten. Das ist nicht grad Sinn und zweck des Erfinders.
 
Tabelle B dient nur zur Berechnung. Das ist schon OK so. Redundanz kann auch manchmal gewollt sein...
 
Okay, hab's selber rausgepuzzlet. Falls es jemanden interessiert:

UPDATE a
INNER JOIN b ON a.datum = b.datum
SET a.schnitt = b.schnitt;
 
Zurück