Moin,
habe mal folgende Frage
Wie kann ich diese 3 Zeilen zusammenfassen, sofern das überhapt geht?
SELECT SUM(netto), SUM(betrag), SUM(bezahlt), SUM(skonto_b), SUM(offen) FROM eingang WHERE monat=1 AND jahr=2004;
SELECT SUM(netto*((100+mwst_p)/100)-netto) AS mwst FROM eingang WHERE mwst_p>0 AND monat=1 AND jahr=2004;
SELECT SUM(bezahlt) FROM gutschriften WHERE monat=1 AND jahr=2004;
Jetzt ist es so, das alle Abfrage nacheinander auf die Datenbank zugreifen, und Sie 3 mal durchlaufen. Wäre schön, wenn sie nur einmal durchlaufen werden muß.
Eingang und Gutschriften sind zwei Tabellen, in einer Datenbank
Die zweite Zeile berechnet nur die Mehrwertsteuer, wenn der Wert in mwst_p > als 0 (16 oder 7) ist. Monat und Jahr sind Variable und werden vom Programm gesetzt um die Anzeige in der Abfrage zu steuern. Ich habe in meiner neuen Version die einzelnen Jahre zusammengefasst, was beim berechnen nun etwas länger dauert.
Gruß
Stefan
Seite 1 von 1
Sql Zusammenfassen
Anzeige
#2
geschrieben 12. August 2004 - 17:17
Fasse sie doch einfach zusammen:
SELECT SUM(bezahlt), SUM(netto*((100+mwst_p)/100)-netto) AS mwst, SUM(netto), SUM(betrag), SUM(bezahlt), SUM(skonto_b), SUM(offen) FROM eingang,gutschriften WHERE monat=1 AND jahr=2004
Kann sein dass Du noch ein paar Sachen ändern musst damit die Bezeichner eindeutig sind. Wahrscheinlich musst Du die where clause anpassen, z.B.
... WHERE (eingang.monat=1 AND eingang.jahr=2004) or (gutschriften.monat=1 AND gutschriften.jahr=2004)
Außerdem fehlt jetzt die where clause für die MwSt., die wird jetzt immer ausgerechnet.
SELECT SUM(bezahlt), SUM(netto*((100+mwst_p)/100)-netto) AS mwst, SUM(netto), SUM(betrag), SUM(bezahlt), SUM(skonto_b), SUM(offen) FROM eingang,gutschriften WHERE monat=1 AND jahr=2004
Kann sein dass Du noch ein paar Sachen ändern musst damit die Bezeichner eindeutig sind. Wahrscheinlich musst Du die where clause anpassen, z.B.
... WHERE (eingang.monat=1 AND eingang.jahr=2004) or (gutschriften.monat=1 AND gutschriften.jahr=2004)
Außerdem fehlt jetzt die where clause für die MwSt., die wird jetzt immer ausgerechnet.
Thema verteilen:
Seite 1 von 1