AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

abfrage aufteilen

Ein Thema von clock50 · begonnen am 4. Mai 2007 · letzter Beitrag vom 5. Mai 2007
Antwort Antwort
Seite 1 von 2  1 2   
clock50

Registriert seit: 9. Nov 2005
Ort: Derenburg
183 Beiträge
 
Delphi 5 Professional
 
#1

abfrage aufteilen

  Alt 4. Mai 2007, 11:30
Datenbank: mysql • Version: 4 • Zugriff über: zeos
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?
SQL-Code:
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' ) )
Ich weiß nicht weiter!!!
Thomas
Man muß nicht alles wissen, man muß nur wissen in welchem Buch es geschrieben steht!
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: abfrage aufteilen

  Alt 4. Mai 2007, 11:44
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.2007and '30.04.2007
GROUP BY
    r.ReNr, r.datum,
Markus Kinzler
  Mit Zitat antworten Zitat
clock50

Registriert seit: 9. Nov 2005
Ort: Derenburg
183 Beiträge
 
Delphi 5 Professional
 
#3

Re: abfrage aufteilen

  Alt 4. Mai 2007, 12:03
Hallo und Danke erstmal!

Ich habe es zwar noch nicht ganz durchschaut aber gleich mal probiert: das war die Antwort vom Server:
Zitat:
#1064 - You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near '( d.MwSt =7, d.Anzahl * d.ArtPreis * ( d.MwSt /100 ) , 0 ) )
Ich glaube bis auf ein feld (ReBetrag) welsches schon den richtigen Wert hat in der Tabelle ist die Richtung ok.
Thomas
Man muß nicht alles wissen, man muß nur wissen in welchem Buch es geschrieben steht!
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#4

Re: abfrage aufteilen

  Alt 4. Mai 2007, 12:07
Es scheint so, daß die Funktion in MySQL If() statt IIF() heißt:
Zitat:
Ich glaube bis auf ein feld (ReBetrag) welsches schon den richtigen Wert hat in der Tabelle ist die Richtung ok.
Hab ich genommen wegen der Gruppierung
Markus Kinzler
  Mit Zitat antworten Zitat
clock50

Registriert seit: 9. Nov 2005
Ort: Derenburg
183 Beiträge
 
Delphi 5 Professional
 
#5

Re: abfrage aufteilen

  Alt 4. Mai 2007, 12:29
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.2007AND '30.04.2007'
GROUP BY rechnung.RechNr, rechnung.datum
Thomas
Man muß nicht alles wissen, man muß nur wissen in welchem Buch es geschrieben steht!
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#6

Re: abfrage aufteilen

  Alt 4. Mai 2007, 12:55
Was für einen Typ hat Datum?
Markus Kinzler
  Mit Zitat antworten Zitat
clock50

Registriert seit: 9. Nov 2005
Ort: Derenburg
183 Beiträge
 
Delphi 5 Professional
 
#7

Re: abfrage aufteilen

  Alt 4. Mai 2007, 18:29
In der Datenbank habe ich
Zitat:
Datum datetime Nein 0000-00-00 00:00:00
In meiner anderen Abfrage hat es immer geplappt wenn ich das Datum in '' gesetzt habe.
Thomas
Man muß nicht alles wissen, man muß nur wissen in welchem Buch es geschrieben steht!
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#8

Re: abfrage aufteilen

  Alt 4. Mai 2007, 18:32
Caste mal nach DATE
Markus Kinzler
  Mit Zitat antworten Zitat
clock50

Registriert seit: 9. Nov 2005
Ort: Derenburg
183 Beiträge
 
Delphi 5 Professional
 
#9

Re: abfrage aufteilen

  Alt 4. Mai 2007, 22:36
Zitat:
Caste mal nach DATE
ich weiß nicht genau was du damit meinst aber ich denke das ich die hauptabfrage auf das Datum beziehen soll oder?
Thomas
Man muß nicht alles wissen, man muß nur wissen in welchem Buch es geschrieben steht!
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#10

Re: abfrage aufteilen

  Alt 4. Mai 2007, 22:40
SQL-Code:
...
WHERE DATE(rechnung.Datum)
BETWEEN '01.04.2007AND '30.04.2007';
Aber eigentlich sollte es auch so gehen
Markus Kinzler
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2   

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:35 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz