EKKi: SELECT in einer Schleife schlecht

Beitrag lesen

Mahlzeit,

Kann man das geschickter lösen?

Wie wär's damit:

Schreib das Ergebnis des Kampfes in eine separate Tabelle - wenn deine Datenbank dann ineinanderverschachtelte Abfragen unterstützt, könnte irgendwas in folgender Art vielleicht klappen (Pseudo-SQL-Code, klappt bestimmt nicht ohne dran rumzuschrauben):

-----8<-----8<-----8<-----

INSERT INTO ergebnis
       (kampf_id, gewinner_id)
VALUES (SELECT id AS kampf_id,
               (/* hier lustige Berechnungen in SQL, wobei als Ergebnis die ID des Gewinners der Begegnung rauskommen muss */) AS gewinner_id
          FROM kampf k
          JOIN stats s1 ON k.u1 = s1.u_id
          JOIN stats s2 ON k.u2 = s2.u_id
       )

----->8----->8----->8-----

So könntest Du die Berechnungen direkt in der Datenbank machen (lassen), hättest keine (unnötigen) Schleifen in PHP und wärst vielleicht sogar schneller (wenn du es schaffst, die Berechnungen in SQL abzubilden - aber du sagtest ja, dass das einfache Arithmetik ist).

MfG,
EKKi