![]() |
Datenbank: mysql • Version: 4 • Zugriff über: zeos
abfrage aufteilen
Hallo alle zusammen, ich habe hier ein etwas 'na ja' Problem.
Ich habe eine Abfrage 2 Tabellen in einer Tabelle 'Rechnungen' sind (ReNr, Datum, Betrag, usw) in der Anderen 'Daten' sind die Positionen (ReNr, Anzahl, ArtPreis, Mwst, usw) nun habe ich zur Auswertung vor, die MwSt jeder Rechnung (nach 7% und 19%) vom 01.04.2007 - 30.04.2007 aufzulisten. !!Erklärung: in der Tabelle 'Daten.MwSt' ist nicht der Betrag sondern der MwSt-Satz also 7 o. 19. Nun wie jetzt? :wall:
SQL-Code:
Ich weiß nicht weiter!!!
SELECT RechNr AS RechNr, Datum AS Datum, ReBetrag AS ReBetrag, Sum( ( daten.Anzahl * daten.ArtPreis * ( ( daten.MwSt +100 ) /100 ) ) - ( daten.Anzahl * daten.ArtPreis ) ) AS SumMwSt7
FROM Rechnung, daten WHERE ( ( Rechnung.Datum >= '01.04.2007' ) AND ( Rechnung.Datum <= '30.04.2007' ) ) |
Re: abfrage aufteilen
Wenn ich dich richtig verstanden habe:
SQL-Code:
SELECT
r.ReNr AS RechNr, r.Datum AS Datum, Sum( d.Anzahl * d.ArtPreis) as ReBetrag, Sum( IIF( d.MwSt = 7, d.Anzahl * d.ArtPreis * (d.MwSt/100 ), 0)) AS SumMwSt7, Sum( IIF( d.MwSt = 19, d.Anzahl * d.ArtPreis * (d.MwSt/100 ), 0)) AS SumMwSt19 FROM Rechnung r join Daten d on d.ReNr = r.ReNr WHERE r.Datum between '01.04.2007' and '30.04.2007' GROUP BY r.ReNr, r.datum, |
Re: abfrage aufteilen
Hallo und Danke erstmal!
Ich habe es zwar noch nicht ganz durchschaut aber gleich mal probiert: das war die Antwort vom Server: Zitat:
|
Re: abfrage aufteilen
Es scheint so, daß die Funktion in MySQL If() statt IIF() heißt:
Zitat:
|
Re: abfrage aufteilen
So das klappt schon ganz gut allerdings nicht mit dem Datum. Das Ergebnis zeigt mir alle Rechnungen.Die Abfrage lautet jetzt:
SQL-Code:
SELECT rechnung.RechNr AS RechNr, rechnung.Datum AS Datum, rechnung.ReBetrag AS ReBetrag, Sum(
IF ( daten.MwSt =7, daten.Anzahl * daten.ArtPreis * ( daten.MwSt /100 ) , 0 ) ) AS SumMwSt7, Sum( IF ( daten.MwSt =19, daten.Anzahl * daten.ArtPreis * ( daten.MwSt /100 ) , 0 ) ) AS SumMwSt19 FROM rechnung JOIN daten ON daten.ReNr = rechnung.RechNr WHERE rechnung.Datum BETWEEN '01.04.2007' AND '30.04.2007' GROUP BY rechnung.RechNr, rechnung.datum |
Re: abfrage aufteilen
Was für einen Typ hat Datum?
|
Re: abfrage aufteilen
In der Datenbank habe ich
Zitat:
|
Re: abfrage aufteilen
Caste mal nach DATE
|
Re: abfrage aufteilen
Zitat:
|
Re: abfrage aufteilen
SQL-Code:
Aber eigentlich sollte es auch so gehen
...
WHERE DATE(rechnung.Datum) BETWEEN '01.04.2007' AND '30.04.2007'; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:20 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz