Antwort an „Jörg“ verfassen

Hallo Rolf,

Nein nein, entspann Dich, so nicht.

Ok. 😊

  • RechnungenID - Verknüpfung zu den Rechnungen
  • Mahnstatus - Kann ich nicht einordnen. Könnte die Mahnstufe sein.
  • Mahndatum - Wann wurde gemahnt
  • Faelligkeit - Welches Ultimatum wurde in der Mahnung gestellt
  • aktiv - 1 oder was anderes (vermutlich 0). Du willst nur aktive Mahnungen beachten, warum auch immer. Ist auch egal. Du willst es, du kriegst es!!! 😉

Ja. Und viel mehr steht auch nicht in der Tabelle. Mahnstatus = Mahnstufe stimmt übrigens.

Aber du willst nur die mit dem höchsten Mahnstatus. Ich nehme an, dass eine Mahnung eindeutig durch das Wertepaar (RechnungenID, Mahnstatus) identifiziert wird. Wenn nicht - dann müssen wir da genauer hinschauen.

Von der Logik und in diesem Kontext ja. Zudem hat aber jede Mahnung ihr eigene ID.

Die RechnungenID wird schon abgefragt, jetzt muss noch eine Abfrage auf Mahnstatus hinzukommen. Du musst die Zeile joinen, in der Mahnstatus die maximalen Mahnstufe für diese RechnungenID enthält. Bei der Maximumsuche darfst Du natürlich nur die aktiven Mahnungen berücksichtigen, sonst gehört das Maximum eventuell zu einer inaktiven Mahnung und dann bekommst Du gar nichts.

Dein Join muss also so aussehen:

LEFT JOIN _table_mahnungen m
     ON m.RechnungenID = r.RechnungenID 
    AND m.aktiv = 1
    AND m.Mahnstatus = (SELECT MAX(tmp.Mahnstatus)
                          FROM _table_mahnungen tmp
                          WHERE tmp.RechnungenID = r.RechnungenID 
                            AND tmp.aktiv = 1)

Die funktioniert. Danke! 👍

Insgesamt ist auch eine deutliche Verbesserung der Geschwindigkeit erkennbar.

Wiue gesagt, der Rest hängt jetzt am php. Und da muss ich einfach mal schauen, ob irgendeine "Operation" da soviel Zeit frisst oder ob es einfach die Summe an Dingen ist, die php machen muss.

Was mir aber auffällt: Die Seite, die ausgeliefert wird (eine Rechnungsübersicht mit entsprechdenen Zusatzinfos) kommt nihct in einem Rutsch an, sondern baut sich erstmal ca. halb auf und anschließend kommt die 2. Hälfte, manchmal auch in 2 Etappen. Ist das ein Hinweis auf irgendwas?

Jörg

freiwillig, öffentlich sichtbar
freiwillig, öffentlich sichtbar
freiwillig, öffentlich sichtbar

Ihre Identität in einem Cookie zu speichern erlaubt es Ihnen, Ihre Beiträge zu editieren. Außerdem müssen Sie dann bei neuen Beiträgen nicht mehr die Felder Name, E-Mail und Homepage ausfüllen.

abbrechen