ERLEDIGT
NEIN
NEIN
ANTWORTEN
19
19
ZUGRIFFE
1034
1034
EMPFEHLEN
-
Hallöchen Leute,
ich habe da ein Problem mit einer SQL-Abfrage.
Ich habe in meiner Access Datenbank folgende Tabelle:
WerWoWannWieviel:
Datum
Nachname
Vorname
Arbeitsort
Betrag
Nun will ich, daß mir der Betrag summiert angezeigt wird, der an einem bestimmten Arbeitsort an einem bestimmten Tag (Datum) war.
Zum Beispiel steht bei Arbeitsort "Kass1" und "Kasse2" drinnen. Am 26.04.2003 wurde von Mitarbeiter1 100,- Euro in Kasse1 eingenommen. Von Mitarbeiter2 200,- Euro.
Nun bräuchte ich eine SQL-Abfrage, die mir angibt wieviel insgesammt (Also "SUM (Betrag)") am 26.04.2003 in Kasse1 eingenommen wurde.
Ich habe es schon so versucht:
SELECT Datum, Arbeitsort, SUM (Betrag) AS Gesamtbetrag FROM WerWoWannWieviel GROUP BY Datum, Arbeitsort
Jetzt zeigt es mir aber nur alle summierten Beträge an, die an einem Tag an einem Arbeitsort eingenommen wurden. Ich bräuchte aber einen bestimmten Tag.
Also ich denke mal irgendwie ein "Datum LIKE "26.04.2003"" und irgendwie noch ein "Arbeitsort LIKE "Kasse1"".
Ich habe aber keine Ahnung wie die SQL-Abfrage auszusehen hat. Ich bekomme es einfach nicht hin.
Könnte mir da bitte jemand die SQL-Abfrage machen?
Im voraus schonmal Dankeschön
Grüssle
itsection
-
27.04.03 22:22 #2
- Registriert seit
- Jun 2002
- Ort
- Saarbrücken (Saarland)
- Beiträge
- 9.886
- Blog-Einträge
- 29
Servus!
Tabelle:
tab1
Felder:
index
Datum
Nachname
Vorname
Arbeitsort
Betrag
_____________
Code :1 2 3 4 5 6 7 8 9 10 11
SELECT tab1.Datum, tab1.Arbeitsort, Sum(tab1.Betrag) AS SummevonBetrag FROM tab1 GROUP BY tab1.Datum, tab1.Arbeitsort HAVING (((tab1.Datum)=#1/1/2003#) AND ((tab1.Arbeitsort)="ort1")); Bei mir liefert das das gewünschte Ergebnis ... index Datum Nachname Vorname Arbeitsort Betrag 1 01.01.2003 d d ort1 10.000,00 € 2 01.01.2003 d d ort1 150.000,00 € 3 01.01.2003 d d ort2 9.999,00 € 4 01.02.2003 d d ort3 651,00 €
Hierbei gibt mir die Abfrage am 1.1.2003 und Ort1 160000,00 € zurück.
Gruss Tom
-
Hi,
ersteinmal Danke für die Abfrage.
Ich habe es jetzt so gemeistert:
Jetzt habe ich aber noch ein Problem,PHP-Code:"SELECT Datum, Arbeitsort, SUM (Betrag) AS Gesamtbetrag FROM
WerWoWannWieviel WHERE Datum LIKE '" + EingabeDatum + "' AND
Arbeitsort LIKE '" + EingabeArbeistort + "' GROUP BY Datum, Arbeitsort"
EingabeDatum = irgendeinenString z.B. 01.01.2003
EingabeArbeistort = irgendeinString2 z.B. Kasse1
wenn ich jetzt nicht nur vom 01.01.2003 die Beträge addiert haben
will, sondern vom ganzen Monat Januar, also vom 01.01.2003 -
31.01.2003, wie kann ich denn das verwirklichen?
Ich habe es schon mit BETWEEN versucht, doch dann zeigt es sie mir
nur an, die Beträge an den einzelnen Tagen, ich will sie aber
summiert haben. Wie kann ich denn das machen?
Grüssle
itsectionGeändert von itsection (28.04.03 um 20:41 Uhr)
-
28.04.03 14:51 #4
- Registriert seit
- Jun 2002
- Ort
- Saarbrücken (Saarland)
- Beiträge
- 9.886
- Blog-Einträge
- 29
Servus!
Versuchs mal hiermit ...
Code :1 2 3 4 5
SELECT tab1.Arbeitsort, Sum(tab1.Betrag) AS SummevonBetrag FROM tab1 WHERE (((tab1.Datum) Between #1/1/2003# And #6/1/2003#)) GROUP BY tab1.Arbeitsort HAVING (((tab1.Arbeitsort)="ort1"));
liefert mit bei:
Code :1 2 3 4 5
index Datum Nachname Vorname Arbeitsort Betrag 1 01.01.2003 d d ort1 10.000,00 € 2 01.01.2003 d d ort1 150.000,00 € 3 01.01.2003 d d ort2 9.999,00 € 4 01.02.2003 d d ort1 651,00 €
als Ergebnis
Arbeitsort SummevonBetrag
ort1 160.651,00 € (vom 1.1.2003 bis zum 6.1.2003)
Gruss Tom
-
Hi,
ich habe jetzt mal folgende Werte drinnen
Datum Betrag Arbeitsort
01.01.2003 15 ort1
01.01.2003 21 ort1
08.01.2003 22 ort1
25.01.2003 23 ort1
01.02.2003 3000 ort1
02.02.2003 4000 ort1
15.02.2003 2000 ort1
21.02.2003 1000 ort1
Und mit dieser Abfrage hier:
liefert er mir das Ergebnis 7045.PHP-Code:SELECT tab1.Arbeitsort, Sum(tab1.Betrag) AS SummevonBetrag
FROM tab1 WHERE (((tab1.Datum) Between #1/2/2003# And #28/2/2003#))
GROUP BY tab1.Arbeitsort HAVING (((tab1.Arbeitsort)="ort1"));
Es sollte doch aber 10000 rauskommen. Er addiert mir also die beiden
Einträge vom 08.01.2003 und vom 25.01.2003 auch mit dazu.
Wo könnte denn da noch der Fehler liegen? Ich habe auch schon versucht anstatt
das hierPHP-Code:Between #1/2/2003# And #28/2/2003#
eingefügt, doch funktioniert auch nicht.PHP-Code:Between #01/02/2003# And #28/02/2003#
Könntest Du mir bitte nochmal helfen?
Grüssle
itsectionGeändert von itsection (28.04.03 um 20:40 Uhr)
-
28.04.03 16:50 #6
- Registriert seit
- Jun 2002
- Ort
- Saarbrücken (Saarland)
- Beiträge
- 9.886
- Blog-Einträge
- 29
Servus!
Code :1 2 3 4 5 6
SELECT tab1.Arbeitsort, Sum(tab1.Betrag) AS SummevonBetrag FROM tab1 WHERE (((tab1.Datum) Between #2/1/2003# And #2/28/2003#)) GROUP BY tab1.Arbeitsort HAVING (((tab1.Arbeitsort)="ort1"));
Bringt bei mir bei deinen Daten das ergebnis 10000 € ...?
Schau mal nochmal...
Gruss Tom
EDIT:
Schau mal auf das Datumsformat ...Geändert von Thomas Darimont (28.04.03 um 16:56 Uhr)
-
Hi,
bei mir bringt er jetzt 10045
ich weiß ach nicht warum er die 45 noch mit nimmt?
-
28.04.03 16:59 #8
- Registriert seit
- Jun 2002
- Ort
- Saarbrücken (Saarland)
- Beiträge
- 9.886
- Blog-Einträge
- 29
Servus ... wie gesagt, schau mal auf das Datumsformat in der Abfrage ...
...Between #2/1/2003# And #2/28/2003#))...
Gruss Tom
-
Hi,
habe ich gemacht,
bei mir heisst es jetzt:
Between #2/1/2003# AND #2/28/2003#
aber es kommt wirklich immer 10045. der nimmt mir immer die letzten zwei vom Januar noch mit.
-
28.04.03 17:06 #10
- Registriert seit
- Jun 2002
- Ort
- Saarbrücken (Saarland)
- Beiträge
- 9.886
- Blog-Einträge
- 29
Servus!
...hmmmm...
dann schau dir mal meine MDB an ...
Gruss Tom
-
Hi,
also ich muss jetzt noch schnell etwas erledigen, hättest Du heute Abend nochmal ein bischen Zeit?
Ich bin so gegen halb acht wieder hier. Ich schreibe dann mal ob es bei Deiner DB geklappt hat.
Grüssle
itsection
-
28.04.03 17:11 #12
- Registriert seit
- Jun 2002
- Ort
- Saarbrücken (Saarland)
- Beiträge
- 9.886
- Blog-Einträge
- 29
Servus!
OK
Gruss Tom
-
Hi,
also ich habe es mal mit Deiner DB probiert, da hats geklappt, bei
meiner gehts nicht.
Ich habe jetzt mit Access mal ne neue gebastelt, doch nun habe ich
das Problem, das mein Visual Basic 6.0 Programm dumm rum macht. Da
steht dann immer dass es die Datenbank nicht lesen kann, woran könnte
denn das liegen?
Grüssle
itsectionGeändert von itsection (28.04.03 um 20:39 Uhr)
-
28.04.03 19:56 #14
- Registriert seit
- Jun 2002
- Ort
- Saarbrücken (Saarland)
- Beiträge
- 9.886
- Blog-Einträge
- 29
Servus!
********
Keine Ahnung sorry...
hab die db mit Access 2002 (Office XP @W2K) erstellt...
Gruss Tom
-
Ok,
aber eine Frage hätte ich noch.
Wenn ich einen String habe, mal angenommen der heisst "Datum".
Der String hat den Wert "Januar". Kann ich dann irgendwie mit
Hilfe von SQL alle Beträge im Januar summieren? Also ohne jetzt
extra noch hinschreiben zu müssen von 01.01.2003 bis 31.01.2003?
Grüssle
itsection
Ähnliche Themen
-
[MDX] Abfrage mit ähnlicher Semantik zu SQL Abfrage mit Group By und Where
Von Thomas Darimont im Forum Relationale DatenbanksystemeAntworten: 0Letzter Beitrag: 28.01.10, 18:56 -
Schleife zur abfrage des preises und alphabetische abfrage des namen
Von Johnny8519 im Forum JavaAntworten: 34Letzter Beitrag: 23.12.09, 20:56 -
Access : gespeicherte Abfrage als Grundlage für SQL Abfrage
Von tombe im Forum Office-AnwendungenAntworten: 1Letzter Beitrag: 10.02.07, 22:21 -
SQL Abfrage: Abfrage nach ungleichen Variablen? ne -.-
Von Nilman im Forum Relationale DatenbanksystemeAntworten: 8Letzter Beitrag: 31.05.05, 13:24 -
sql server 2000 Abfrage einer Abfrage
Von supafunk im Forum Relationale DatenbanksystemeAntworten: 1Letzter Beitrag: 15.04.05, 18:20





Zitieren

Login





