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
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
Comment