Datum aus 2 Tabellen

Datenbanklösungen mit AOO/LO

Moderator: Moderatoren

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

Re: Datum aus 2 Tabellen

Beitrag von RobertG »

Hallo Evi,

Code: Alles auswählen

SELECT "Einnamen_Monat.Jahr"."Monat", "Einnamen_Monat.Jahr"."Einnamen", "Ausgaben_Monat_Jahr"."Ausgaben" FROM "Einnamen_Monat.Jahr", "Ausgaben_Monat_Jahr" WHERE "Einnamen_Monat.Jahr"."Monat" = "Ausgaben_Monat_Jahr"."Monat" 
Das setzt voraus, dass Du in jedem Monat sowohl Einnahmen als auch Ausgaben hast. Der folgende Code würde auch Monate mit Einnahmen anzeigen, in denen noch keine Ausgaben getätigt wurden:

Code: Alles auswählen

SELECT "Einnamen_Monat.Jahr"."Monat", "Einnamen_Monat.Jahr"."Einnamen", "Ausgaben_Monat_Jahr"."Ausgaben" FROM "Einnamen_Monat.Jahr" LEFT JOIN "Ausgaben_Monat_Jahr" ON "Einnamen_Monat.Jahr"."Monat" = "Ausgaben_Monat_Jahr"."Monat" 
Gruß

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

Re: Datum aus 2 Tabellen

Beitrag von RobertG »

Hallo Evi,

zwei Lösungsmöglichkeiten sehe ich:
1. Die einfache, bei der Du etwas Hand anlegen musst: Eine weitere Tabelle erstellen, in der alle Monate verzeichnet sind und diese mit einbinden - als erste Tabelle in dem Join-Verbund.
2. Die Allroundlösung, direkt mit der Ausgangstabelle:

Code: Alles auswählen

SELECT "a".*, 
(SELECT SUM("Betrag") FROM "Tabelle" WHERE MONTH("Datum") = MONTH("a"."Datum") AND YEAR("Datum") = YEAR("a"."Datum")) AS "monatl_Summe" 
FROM "Tabelle" AS "a"
Ausgangspunkt ist Deine Ursprungstabelle, von der ich natürlich den Namen und die Feldbezeichnungen nicht weiß. Hat also nichts mit Deinen Ansichten zu tun. In dieser Tabelle ist ein Feld "Datum" enthalten, aus der Monat und Jahr bestimmt werden können. Außerdem ist ein Feld "Betrag" enthalten, das summiert werden kann. Die Unterabfrage erstellt jetzt in jedem Datensatz die Summe, die zu dem Monat und Jahr des äußeren Datensatzes passt. Die Verbindung zum äußeren Datensatz ist darüber gewährleistet, dass "Tabelle" der Alias "a" zugewiesen wurde. Das ganze ist eine korrelierende Unterabfrage. Schau Dir gegebenenfalls dazu das Handbuch, Kapitel Abfragen, an.

Gruß

Robert
Antworten