Bemötige Hilfe bei Abfrage

Datenbanklösungen mit AOO/LO

Moderator: Moderatoren

hejo52
Beiträge: 4
Registriert: Sa, 26.11.2011 16:07
Wohnort: Im Pott zuhause

Bemötige Hilfe bei Abfrage

Beitrag von hejo52 »

Hallo zusammen,

ich hatte schon einmal Ende letzten Jahres an einer Datenbank gebastelt, mit der ich meine Arzt- und Arzneimittelrechnungen überwachen möchte. Das habe ich auch mit Eurer Hilfe soweit hin gekriegt.
Jetzt möchte ich aber eine Abfrage verfeinern. Ich habe folgende Abfrage erstellt:

SELECT "Patienten"."Patient" AS "Patient", "Rezepte"."Rzp_ID", "Rezepte"."Einlöse-Datum", ( "Preis_1" + "Preis_2" + "Preis_3" ) - ( "Erstatt._KVB_1" + "Erstatt._KVB_2" + "Erstatt._KVB_3" ) - ( "Erstatt._EBH_1" + "Erstatt._EBH_2" + "Erstatt._EBH_3" ) AS "Eigenanteil" FROM "Rezepte", "Patienten" WHERE "Rezepte"."Patient" = "Patienten"."ID" AND "Rezepte"."Einlöse-Datum" >= {D '2012-01-01' }

Sie zeigt mir an welchen Eigenanteil ich bei einem eingelösten Rezept habe, nachdem ich von meinen Krankenkassen die Erstattungen zurück erhalten habe.
Erste Verbesserung und wahrscheinlich auch die einfachste, soll sein das, das Einlösedatum zwischen zwei Terminen (1.1.2012 u. 31.12.2012) liegen soll.
Als zweites hätte ich gerne, das die ermittelten Eigenanteile je Rezept am Ende zu einer Gesamtsumme addiert werden sollen und diese dann auch angezeigt werden soll.

Ich würde mich freuen wenn mir dabei jemand weiter helfen könnte. :D

Grüße aus Essen

Hejo
OO 3.3 / HSQLDB / Java 1.6.23 /WIN7 (32 Bit)
RobertG
********
Beiträge: 2068
Registriert: Fr, 13.04.2012 19:28
Kontaktdaten:

Re: Bemötige Hilfe bei Abfrage

Beitrag von RobertG »

Hallo Hejo,
Erste Verbesserung und wahrscheinlich auch die einfachste, soll sein das, das Einlösedatum zwischen zwei Terminen (1.1.2012 u. 31.12.2012) liegen soll.
AND "Rezepte"."Einlöse-Datum" BETWEEN '2012-01-01' AND '2012-12-31'
... wobei natürlich bei den beiden Werten auch möglich ist, stattdessen
AND YEAR("Rezepte"."Einlöse-Datum") = '2012'
aber Du wolltes ja das allgemeine "zwischen zwei Werten" wissen.
Als zweites hätte ich gerne, das die ermittelten Eigenanteile je Rezept am Ende zu einer Gesamtsumme addiert werden sollen und diese dann auch angezeigt werden soll.
Dazu brauchst Du eine korrelierende Abfrage, die in die eigentliche Abfrage mit reingepackt wird:

Code: Alles auswählen

SELECT "Patienten"."Patient" AS "Patient", "a"."Rzp_ID", "a"."Einlöse-Datum", ( "Preis_1" + "Preis_2" + "Preis_3" ) - ( "Erstatt._KVB_1" + "Erstatt._KVB_2" + "Erstatt._KVB_3" ) - ( "Erstatt._EBH_1" + "Erstatt._EBH_2" + "Erstatt._EBH_3" ) AS "Eigenanteil", (SELECT SUM(( "Preis_1" + "Preis_2" + "Preis_3" ) - ( "Erstatt._KVB_1" + "Erstatt._KVB_2" + "Erstatt._KVB_3" ) - ( "Erstatt._EBH_1" + "Erstatt._EBH_2" + "Erstatt._EBH_3" )) FROM "Rezepte" WHERE "Patient" = "a"."Patient") AS "Eigenanteilsumme" FROM "Rezepte" AS "a", "Patienten" WHERE "a"."Patient" = "Patienten"."ID" AND "a"."Einlöse-Datum" >= {D '2012-01-01' }
Zu solchen Abfragekonstruktionen siehe auch http://de.libreoffice.org/hilfe-kontakt/handbuecher/ - dort etwas nach unten scrollen zum Base-Handbuch. Interessant dürfte für Dich das Kapitel "Abfragen" und das Kapitel "Datenbankaufgaben" sein.

Gruß

Robert
hejo52
Beiträge: 4
Registriert: Sa, 26.11.2011 16:07
Wohnort: Im Pott zuhause

Re: Benötige Hilfe bei Abfrage

Beitrag von hejo52 »

Hallo Robert,

ich dank Dir für Deine Hilfe.

Die Erfassung über einen Zeitraum hat funktioniert aber beim summieren der Eigenanteile bekomme ich immer noch einen Syntax-Fehler gemeldet. Ich versuch das mal mit Hilfe des Handbuchs zu analysieren, vielleicht komm ich ja doch noch zum Ziel.

Gruß Hejo
OO 3.3 / HSQLDB / Java 1.6.23 /WIN7 (32 Bit)
Antworten