Neuigkeiten:

Ist euer Problem gelöst, dann bitte den Knopf "Thema gelöst" drücken!

Mobiles Hauptmenü

Tagesabhängige Summe bilden

Begonnen von qwertz82, Januar 25, 2021, 21:46:00

⏪ vorheriges - nächstes ⏩

qwertz82

Hallo ich komme leider nicht weiter. Ich möchte in einer Abfrage die Summe von Kategorien bilden, wenn das Datum den gleichen Tag hat. Könnt ihr mir einen Tipp geben der mich auf die richtige Spur bringen könnte?
MDL_MAC_CODE ist das Kriterium, z.b. 999, 100, 0

SELECT BDE_MDE_LOG.MDL_APL, BDE_MDE_LOG.MDL_TSP_VON, BDE_MDE_LOG.MDL_MAC_CODE, BDE_MDE_LOG.MDL_SEK_NETTO
FROM BDE_MDE_LOG
WHERE (((BDE_MDE_LOG.MDL_APL)="1PKFS034"))
ORDER BY BDE_MDE_LOG.MDL_TSP_VON DESC;
Sie dürfen in diesem Board keine Dateianhänge sehen.

SELECT BDE_MDE_LOG.MDL_APL, BDE_MDE_LOG.MDL_TSP_VON, BDE_MDE_LOG.MDL_MAC_CODE, BDE_MDE_LOG.MDL_SEK_NETTO,
Sum(MDL_SEK_NETTO)
FROM BDE_MDE_LOG
WHERE (day([MDL_TSP_VON]))=day(Date()) AND ((BDE_MDE_LOG.MDL_APL)="1PKFS034")
ORDER BY MDL_TSP_VON DESC;
Vielen Dank für euren Tipp. Wäre der zweite code, auch wenn er so nicht funktioniert, eine richtige Richtung?
Gruß Jens

MzKlMu

Hallo,
zeige mal was Du wie Summieren willst.
3-4 Zeilen als Beispiel.
Gruß Klaus

qwertz82

Guten Morgen,

ich möchte die Spalte 4 in Abhängigkeit der Spalte 3 Summieren, wenn die Spalte 2 jeweils das gleiche Datum.
Sie dürfen in diesem Board keine Dateianhänge sehen.

Wieso kann man nicht nach einem Datum Suchen? Ändere ich die Abfrage von "day" auf "date" erhalte ich leider einen Fehler. Achtung der code hat nichts mehr mit der Summe zu tun. Da ich ja die Anzahl an Werten von z.B. "999" für den 25.01.2021 kenne, dachte ih das ein Cunt mir vorerst auf die Sprünge hilft.

Versucht habe ich noch nicht das Datum zu zerlegen. Select "day", "month", "year"....
 
SELECT Day([BDE_MDE_LOG].[MDL_TSP_VON]) AS Ausdr1, Count(*) AS number_of_code
FROM BDE_MDE_LOG
WHERE (((BDE_MDE_LOG.MDL_APL)="1PKFS034"))
GROUP BY Day([BDE_MDE_LOG].[MDL_TSP_VON]);

DF6GL

Hallo,


Zitat...Spalte 4 in Abhängigkeit der Spalte 3 Summieren, wenn die Spalte 2 jeweils das gleiche Datum (enthält) .


SELECT Int[MDL_TSP_VON]) AS [Datum], MDL_MAC_Code, Sum(MDL_SEK_N) AS SummeVonMDL_SEK_N
FROM BDE_MDE_LOG
WHERE MDL_APL="1PKFS034"
GROUP BY Int(MDL_TSP_VON), MDL_MAC_Code



qwertz82

Danke für die Idee mit der Ganzzahl vom Datum. Hätte man wissen können...
 
Wenn ich mir die Ganzzahl des Datumswertes ausgebe, so erhalte ich wie gewünscht das Datum.
Sobald ich jedoch die Aggregatfunktion hinzunehme bekomme ich eine Fehlermeldung, dass der ODBC Aufruf fehlgeschlagen ist aufgrund Dateninkonsistens. (Number erwartet, date erhalten)

Was ändert sich hier wenn "Group by" hinzukommt?
code wieder gekürzt, um der Ursache näher zu kommen.(besser lesbar für mich)
SELECT Int([MDL_TSP_VON]) AS Datum, BDE_MDE_LOG.MDL_MAC_CODE
FROM BDE_MDE_LOG
WHERE (((BDE_MDE_LOG.[MDL_APL])="1PKFS034"));
SELECT Int([MDL_TSP_VON]) AS Datum, BDE_MDE_LOG.MDL_MAC_CODE
FROM BDE_MDE_LOG
WHERE (((BDE_MDE_LOG.[MDL_APL])="1PKFS034"))
GROUP BY Int([MDL_TSP_VON]), BDE_MDE_LOG.MDL_MAC_CODE;
Sie dürfen in diesem Board keine Dateianhänge sehen.

Dankeschön, Gruß Jens

qwertz82

Hallo nochmals,

ich habe nun zumindest eine Monate/ Jahr Gruppierung hinbekommen.
SELECT Year([MDL_TSP_VON]) AS [Jahr], Month([MDL_TSP_VON]) AS [Monat], Sum(BDE_MDE_LOG.MDL_SEK_NETTO) AS Summe_Seku, BDE_MDE_LOG.MDL_MAC_CODE
FROM BDE_MDE_LOG
WHERE (((BDE_MDE_LOG.[MDL_APL])="1PKFS034"))
GROUP BY Year([MDL_TSP_VON]), Month([MDL_TSP_VON]), BDE_MDE_LOG.MDL_MAC_CODE
HAVING (((BDE_MDE_LOG.MDL_MAC_CODE)=999))
ORDER BY Year([MDL_TSP_VON]) DESC;


qwertz82

ZitatODCB
Ist eine Schnittstelle zu unterschiedlichen DB Systemen. (ODBC)

Mit der Typumwandlungsfunktion klappt es prima, Danke.
Thema kann geschlossen werden.

Gruß Jens

DF6GL

Hallo,

ich weiß was "ODBC" ist.  ODBC war lediglich von Dir vorher nicht erwähnt, was durchaus nicht passende Antworten zur Folge hat..