Mal wieder was spezielles:
Zwei Tabellen:
Bestellung (bestnr PK) und Bestellpositionen (bestnr FK)
In einem Skript aktualisiere ich zur Zeit mit PHP die Werte einer Tabelle durch aggregierte Werte einer anderen grob gesagt so:
um die sache zu beschleunigen (sind mittlerweile mehrere Tausend abfragen) würde ich das gern per SQL machen.
mein Ansatz wäre dabei :
Was natürlich nicht funktioniert (Fehlermeldung) Zwar ist mir klar dass ich UPDATE mit mehreren Tabellen verwenden kann, jedoch nicht wie ich eine davon gruppiere
Anregungen ? Wäre wiedermal dankbar
Zwei Tabellen:
Bestellung (bestnr PK) und Bestellpositionen (bestnr FK)
In einem Skript aktualisiere ich zur Zeit mit PHP die Werte einer Tabelle durch aggregierte Werte einer anderen grob gesagt so:
PHP-Code:
$sql = " SELECT bestid, sum(pos) sumpos from Bestellpositionen GROUP BY bestid";
$result = $db->query($sql);
while ($row = $result->fetch()) {
$sql = "UPDATE bestellung SET sumpos = ".$row['sumpos']." WHERE bestid = ".$row['bestid'];
$db->sql($sql);
}
mein Ansatz wäre dabei :
PHP-Code:
UPDATE tagesbestellungen t left join
(SELECT bestid , SUM(stck) sumposday from bestellpositionen GROUP BY bestid) b
USING(bestid)
SET t.sumpos = b.sumposday
Anregungen ? Wäre wiedermal dankbar
Kommentar