Johnny B.: mysql: Berechnung über mehrere Tabellen

Beitrag lesen

Hallo geehrtes Forum,

ich möchte gerne folgenden funktionierenden Query optimieren:

    SELECT                                              RgNr,  
            FORMAT(  
            ( SELECT SUM( preis ) FROM tour WHERE rechnung_id = rechnung.id ), 2)  
                                                        netto,  
            FORMAT(  
            ( SELECT SUM( preis ) +  SUM( ( mwst * preis/100 ) ) FROM tour WHERE rechnung_id = rechnung.id ), 2)  
                                                        brutto  
    FROM  rechnung  
    ORDER BY rgnr

Es gibt eine Tabelle 'rechnung' mit den Spalten id und rgnr.

Und es gibt eine Tabelle 'tour' mit den Spalten rechnung_id, preis und mwst.

Ausgeworfen werden sollen alle Rechnungen mit der berechneten Rechnungssumme netto und brutto. Einfache Sache eigentlich...

Diese zwei Subselects funktionieren, sind aber wahrscheinlich nicht optimal. Eleganter und performanter wäre wohl, ich würde die beiden Tabellen mit einem Join verknüpfen? Wenn ja, mit welchem? Irgendwie habe ich das Konzept der Joins immer noch nicht geblickt, trotz mehrmaligem Studieren der beiden Threads, auf die oft verwiesen wird. Mir schwirrt der Kopf von den vielen verschiedenen Möglichkeiten: es fällt mir schwer, gegebene Beispiele auf meinen Fall zu abstrahieren und durch Ausprobieren den richtigen Weg zu finden, gestaltet sich als schwierig - vielleicht mag jemand mir einen kurzen Wink in die richtige Richtung geben?

Verjointe INNEROUTERLEFTRIGHT Grüße
JOhnnY