Summe über Unterabfrage bei falschem Datentyp?

Datenbanklösungen mit AOO/LO

Moderator: Moderatoren

maxthomas2001

Summe über Unterabfrage bei falschem Datentyp?

Beitrag von maxthomas2001 » Mo, 23.10.2017 19:38

Hallo.
Ich habe ein Problem, bei dem ich schön langsam verzweifle. Ich hoffe ihr könnt mir dabei auf die Sprünge helfen.
Es geht um folgendes:

Ich erfasse in einer Tabelle Zeiten, an denen Personen nicht anwesend sind. Die Tabelle enthält folgende Informationen:
ID Name Datum Uhrzeit von Uhrzeit bis
Mit diesen Daten soll dann eine Auswertung statt finden. Also z. B. eine Übersicht wer war an einem bestimmten Datum nicht da, oder an welchen Daten war eine bestimmte Person nicht da etc.

Bei der Auswertung der Daten stehe ich aber vor einem Problem.
In einer Abfrage lasse ich zunächst über DATEDIFF die Dauer der Abwesenheit berechnen. Also von 7:00 bis 10:00 wären dann 180 Minuten.
Ab einer Abwesenheit von drei Stunden soll ein halber Fehltag berechnet werden. Ab einer Abwesenheit von 6 Stunden ein ganzer Fehltag.
Ich benutze also eine CASE WHEN Funktion, die bei Abwesenheit > 360 Minuten 1,0 liefert, bei Abwesenheit zwischen 180 und 360 Minuten 0,5.
Aber jetzt kommt das eigentlich Problem. Diese Abwesenheitstage sollen nun summiert werden, so dass ich sagen für jeden Person sagen, wie viele Tage sie nicht da war.

Am liebsten hätte ich eine Abfrage, die dann so ausschaut:
ID Name Datum Uhrzeit von Uhrzeit bis Summe Abwesenheitstage
So etwas ähnliches habe ich in der Beispieldatenbank Bericht_Rechnung gefunden. Da wird auch in der Abfrage die Gesamtsumme für eine Rechnungsnummer gebildet und dann bei allen gekauften Positionen hinten angestellt.
So würde ich mir das auch vorstellten.
Diese Abfrage könnte ich dann gut in einem Bericht darstellen lassen und so für jede Person einen Ausdruck erstellen, aus dem hervorgeht, wann und an wie vielen Tagen jemand gefehlt hat.

Ich habe versucht, dies mit einer Unterabfrage zu lösen. Ich erhalte jedoch jedes mal eine Fehlermeldung aus der ich ablese, dass die Zahlen, die die CASE WHEN Funktion ausgibt, nicht summiert werden kann, weil es sich um den Datentyp VAR CHAR handelt.

Könnt ihr mir vielleicht helfen?
Vielen Dank.
Grüße
Max

RobertG
*******
Beiträge: 1633
Registriert: Fr, 13.04.2012 19:28
Kontaktdaten:

Re: Summe über Unterabfrage bei falschem Datentyp?

Beitrag von RobertG » Mo, 23.10.2017 21:11

Hallo Max,

wenn Du die Abfrage gepostet hättest, dann wäre vielleicht auch der Fehler klar. Schreibe doch einfach einmal den "CASE WHEN ... END" - Teil hier auf. Gegebenenfalls schon einmal der Hinweis, dass Texte in Hochkommata gesetzt werden, Zahlen aber nicht. Und dass Du Zahlen mit Nachkommastellen tunlichst mit einem Dezimalpunkt, nicht aber mit einem Komma notierst.

Gruß

Robert

maxthomas2001

Re: Summe über Unterabfrage bei falschem Datentyp?

Beitrag von maxthomas2001 » Mi, 25.10.2017 19:09

Hallo,

Vielen Dank für die Hilfe!
Fehler ist gefunden. Hab genau die beiden Sachen falsch gemacht, auf die du mich hingewiesen hast.

Nochmal vielen Dank!

Grüße
Max

Antworten

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 11 Gäste