[MySQL 4.0] UPDATE einer Tabelle duirch aggregierte Werte einer anderen

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • [MySQL 4.0] UPDATE einer Tabelle duirch aggregierte Werte einer anderen

    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:
    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);

    um die sache zu beschleunigen (sind mittlerweile mehrere Tausend abfragen) würde ich das gern per SQL machen.

    mein Ansatz wäre dabei :
    PHP-Code:
    UPDATE tagesbestellungen t left join 
                    
    (SELECT bestid SUM(stcksumposday from bestellpositionen GROUP BY bestid
                    USING
    (bestid
    SET  t.sumpos b.sumposday 
    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
    chansel0049
    ----------------------------------------------------
    if you've reached the bottomline - dig further!
    Übersetzer gesucht? http://www.babelport.com

  • #2
    hab ich noch nie was zu gesehen
    Würde mal sagen auf MYSQL 5.0 warten und dann als Subquery durchführen
    PHP-Code:
    UPDATE bestellung SET sumpos =  SELECT bestidsum(possumpos from Bestellpositionen GROUP BY bestid 
    Die zehn Gebote sind deswegen so kurz und logisch, weil sie ohne Mitwirkung von Juristen zustande gekommen sind. (Charles de Gaulle)

    Kommentar

    Lädt...
    X