Die "Reihenfolge" sollte oder besser darf für die Ausgabe absolut keine Rolle spielen, wenn doch, Datenbank wegwerfen.
Der Datenbank ist das natürlich egal, aber dem Entwickler, der seine Statements logisch aufbaut vielleicht nicht:
Aufgabenstellung: Gewicht und Kosten aller Artikel aus dem letzten Jahr.
Dann ist mMn die Vorgehensweise beim Entwickeln des Statements:
Erst alle Rechnungen nehmen, Einschränkung auf das Jahr.
Dazu die Rechnungspositionen, reicht ein Left Join.
Wenn jeder Position ein Artikel entspricht, dann Artikeldetails dazu holen, wieder reicht ein Left Join.
Jetzt wie gewünscht Gruppieren/Summieren.
Wenn eine Auftragsposition noch eine Mengenangabe/Anzahl hat, das ggf. mit berücksichtigen.
Die Abfage funktioniert so vllt. nicht besser oder schneller, aber einem selber wird mMn klarer, was man da gerade macht.