Announcement

Collapse
No announcement yet.

Afrage über mehrere Tabellen mit Summierung

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Afrage über mehrere Tabellen mit Summierung

    Ich weiß nicht ob mein Vorhaben umsetzbar ist, aber vielleicht kann mir ja jemand helfen.
    Und bitte nicht schlagen, ich bin kein Profi.

    1. Fragestellung:
    Es gibt 1 Tabelle mit Aufträgen und jeder Auftrag kann mehrere Einträge in der Kosten-Tabelle haben.
    Die Abfrage gruppiert die Aufträge nach Rechnungsempfänger.
    wie krieg ich es hin, den Gesamtbetrag pro Rechnungsempfänger ausgeben zu lassen?

    LEFT JOIN (SELECT trip_id, SUM(tripco_totalprice) AS cost
    FROM tripcosts
    GROUP BY trip_id) costs ON (trips.trip_id = costs.trip_id)
    ... gibt mir nur die Summe von 1 Auftrag


    2. Fragestellung
    Die Rechnungsadresse kann Hauptsitz oder Filiale sein.
    Im zweiten Fall sollten gewisse Werte von der Tabelle addressdetails des entsprechenden Hauptsitztes ausgelesen werden.


    3. Fragestellung
    Die Adressdetails-Tabelle hat folgende zwei Spalten: adrde_invoicemail und adrde_invoicepost, beide können 1 oder 0 enthalten.
    Ist es möglich eine einzige ausgabe zu erhalten:
    Wenn adrde_invoicemail=1 und adrde_invoicepost=0 => E-Mail
    Wenn adrde_invoicemail=0 und adrde_invoicepost=1 => Post
    Wenn adrde_invoicemail=1 und adrde_invoicepost=1 => E-Mail + Post


    3. Fragestellung
    Die Adressdetails-Tabelle hat folgende drei Spalten: adrde_fepec, adrde_fecode, adrde_fedelivery
    Ist es möglich eine einzige ausgabe zu erhalten:
    Wenn adrde_fedelivery=1 => adrde_fepec
    Wenn adrde_fedelivery=2 => adrde_fecode


    Hier meine Abfrage, wie sie im Moment aussieht:

    SELECT toinv_date, toinv_number, adr_name, country_vehiclecode, adrde_vatcode, adrde_taxcode, adrde_invoicemail, adrde_invoicepost, adrde_fepec, adrde_fecode, adrde_fedelivery, C O N C A T(adrde_invoicepaymentdays,' Tage ',paym_short,' + ',adrde_invoicepaymentplus) AS payment
    FROM toinvoice
    LEFT JOIN trips ON trips.trip_id = toinv_orderid
    LEFT JOIN addresses ON addresses.adr_id = billrecipient_id
    LEFT JOIN addressdetails ON addressdetails.adr_id = billrecipient_id
    LEFT JOIN countrys ON countrys.country_id = addresses.country_id
    LEFT JOIN paymentmetodes ON paym_id = invoicepaytype_id
    GROUP BY billrecipient_id

  • #2
    1.
    select auftrag,sum(b.kosten) from tabelleA a
    left join tabelleB b on trips.trip_id = costs.trip_id
    group by auftrag

    oder so ähnlich....

    2.
    Sieh dir das
    https://www.w3schools.com/sql/func_mysql_case.asp
    an

    3.
    Sieh dir das
    https://www.w3schools.com/sql/func_mysql_case.asp
    an

    3.
    Sieh dir das
    https://www.w3schools.com/sql/func_mysql_case.asp
    an
    Zuletzt editiert von Christian Marquardt; 28.06.2021, 12:50.
    Christian

    Comment

    Working...
    X