BITTE helfen Sie uns HEUTE mit einer SPENDE
Helfen Sie das LibreOffice Forum zu erhalten!

❤️ DANKE >><< DANKE ❤️

> KEINE WERBUNG FÜR REGISTRIERTE BENUTZER!<
Ihre Spende wird für die Deckung der laufenden Kosten sowie den Erhalt und Ausbau 🌱 des LibreOffice Forums verwendet.
🤗 Als Dankeschön werden Sie im Forum als LO-SUPPORTER gekennzeichnet. 🤗

Unterabfrage tut nicht was sie soll

Base ermöglicht es Ihnen, Ihre Daten in einer Datenbank direkt mit LibreOffice zu bearbeiten.
Antworten
RobertG
Beiträge: 2732
Registriert: Sa 19. Mai 2012, 17:37
Kontaktdaten:

Re: Unterabfrage tut nicht was sie soll

Beitrag von RobertG » Di 5. Mär 2019, 16:14

Hallo Theophilus,
Theophilus hat geschrieben:
Di 5. Mär 2019, 09:43

Code: Alles auswählen

SELECT distinct Ubw_Termin, (Select Sum(Betrag) FROM Spock.tbl_Kollekten2 as Saldo) 
FROM Spock.tbl_Kollekten2 order by Ubw_Termin desc;
liefert mir zwar eine Liste der verschiedenen Überweisungstermine - die Unterabfrage berechnet die Summe aber über alle. Dh für jeden Überweisungstermin wird mir die Gesamtsumme aller Überweisungstermine angezeigt.
Wo liegt mein Denkfehler?
Du fragst mit der Unterabfrage nichts ab, was sich auf die äußere Abfrage bezieht. Vermutlich möchtest Du etwas Ähnliches erhalten wie

Code: Alles auswählen

SELECT distinct a.Ubw_Termin, (Select Sum(Betrag) FROM Spock.tbl_Kollekten2 WHERE Ubw_Termin <= a.Ubw_Termin) as Saldo 
FROM Spock.tbl_Kollekten2 AS a order by a.Ubw_Termin desc;
... wobei ich jetzt einfach hoffe, dass das Ganze so ohne Maskierung mit doppelten Anführungszeichen funktioniert, da Du nach dem Code nicht mit einer der internen Datenbanken arbeitest.

Gruß

Robert
https://de.libreoffice.org/get-help/documentation/
https://www.familiegrosskopf.de/robert/index.php?&Inhalt=base_handbuch
https://www.familiegrosskopf.de/robert/index.php?&Inhalt=xml_formulare

RobertG
Beiträge: 2732
Registriert: Sa 19. Mai 2012, 17:37
Kontaktdaten:

Re: Unterabfrage tut nicht was sie soll

Beitrag von RobertG » Do 7. Mär 2019, 17:22

Hallo Theophilus,

die Tabelle in der äußeren Abfrage wird mit einem Alias, dem "a" versehen. Für die innere Abfrage wird über "a"."Feldname" der Inhalt des aktuellen Datensatzes aus der äußeren Abfrage ausgelesen. Damit habe ich in der inneren Abfrage eine Beziehung zu der äußeren Abfrage.

Siehe auch im Handbuch "korrelierende Unterabfrage".

Gruß

Robert
https://de.libreoffice.org/get-help/documentation/
https://www.familiegrosskopf.de/robert/index.php?&Inhalt=base_handbuch
https://www.familiegrosskopf.de/robert/index.php?&Inhalt=xml_formulare

An alle, die das LibreOffice-Forum nutzen:


Bitte beteiligen Sie sich mit 7 Euro pro Monat und helfen uns bei unserem Budget für das Jahr 2024.
Einfach per Kreditkarte oder PayPal.
Als Dankeschön werden Sie im Forum als LO-SUPPORTER gekennzeichnet.

❤️ Vielen lieben Dank für Ihre Unterstützung ❤️

Antworten