🍀 Das LibreOffice Forum braucht HEUTE Ihre Hilfe! 🍀
❤️ Spenden Sie jetzt und sichern Sie die Zukunft unseres LibreOffice-Forums ❤️
Ihre Spende hilft, die Community offen, werbefrei (bei Registrierung) und lebendig zu halten. Vielen lieben Dank!

🙏 DANKE >> << DANKE 🙏

>> Das LibreOffice-Forum lebt von Ihnen – und von vielen Experten, die freiwillig und kostenlos ihr Wissen teilen.<<
Als Dankeschön werden Sie im Forum als LO-SUPPORTER gekennzeichnet.

[gelöst] Rechnen mit Ergebnissen von Funktionen wie COUNT in Abfragen mittels Alias? Verständnisfrage

Base ermöglicht es Ihnen, Ihre Daten in einer Datenbank direkt mit LibreOffice zu bearbeiten.
Antworten
EinsamerBaumWald
Beiträge: 31
Registriert: Fr 28. Nov 2014, 20:41

[gelöst] Rechnen mit Ergebnissen von Funktionen wie COUNT in Abfragen mittels Alias? Verständnisfrage

Beitrag von EinsamerBaumWald » Do 8. Sep 2016, 09:45

Hallo,

folgende Abfrage funktioniert:

Code: Alles auswählen

SELECT "Kraut", SUM( "Gewicht" ) AS "GesamtGewicht", COUNT( "Kraut" ) AS "Anzahl",  SUM("Gewicht") / COUNT("Kraut") AS "Durchschnittsgewicht" FROM "Kräuter" WHERE "verkauft" = 0 GROUP BY "Kraut" ORDER BY "Kraut" ASC
Warum muss ich die Funktionen aber erneut aufrufen und kann die Rechnung nicht mit den vergebenen Aliasen durchführen?
SQL-Status: S0022
Fehler-Code: -28
Column not found: GesamtGewicht in statement

Code: Alles auswählen

SELECT "Kraut", SUM( "Gewicht" ) AS "GesamtGewicht", COUNT( "Kraut" ) AS "Anzahl", "GesamtGewicht" / "Anzahl" AS "Durchschnittsgewicht" FROM "Kräuter" WHERE "verkauft" = 0 GROUP BY "Kraut" ORDER BY "Kraut" ASC
Falls notwendig die zugehörige Datenbank anbei, Abfrage Kräuterbestand.
Dateianhänge
Lagerbuch_Beispiel.odb.zip
(24.17 KiB) 298-mal heruntergeladen
Zuletzt geändert von EinsamerBaumWald am Do 8. Sep 2016, 20:16, insgesamt 1-mal geändert.

RobertG
* LO-Experte *
Beiträge: 2957
Registriert: Sa 19. Mai 2012, 17:37
Kontaktdaten:

Re: Rechnen mit Ergebnissen von Funktionen wie COUNT in Abfragen mittels Alias? Verständnisfrage

Beitrag von RobertG » Do 8. Sep 2016, 16:57

Hallo EinsamerBaumWald,

Du gehst davon aus, dass ein weiter hinten in einer Abfrage liegendes Feld für einen Datensatz automatisch weiß, was vorher im gleichen Datensatz berechnet wurde. Das ist leider nicht der Fall. Der Begriff "GesamtGewicht" ist innerhalb des Datensatze noch nicht weiter verfügbar. Die Berechnungen geschehen gleichzeitig.
Wenn Du den Code so fasst,

Code: Alles auswählen

SELECT "a".*,"GesamtGewicht" / "Anzahl" AS "Durchschnittsgewicht" FROM (SELECT "Kraut", SUM( "Gewicht" ) AS "GesamtGewicht", COUNT( "Kraut" ) AS "Anzahl" FROM "Kräuter" WHERE "verkauft" = 0 GROUP BY "Kraut") AS "a" ORDER BY "Kraut"
dann wird zuerst die Unterabfrage abgehandelt und anschließend die äußere Abfrage. Jetzt ist für die äußere Abfrage der Begriff "GesamtGewicht" verfügbar.

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

EinsamerBaumWald
Beiträge: 31
Registriert: Fr 28. Nov 2014, 20:41

Re: Rechnen mit Ergebnissen von Funktionen wie COUNT in Abfragen mittels Alias? Verständnisfrage

Beitrag von EinsamerBaumWald » Do 8. Sep 2016, 20:07

Hallo Robert,

vielen Dank für Deine rasche und kompetente Antwort! Manchmal sieht man den Wald vor lauter Bäumen nicht mehr! :D

Grüße,
EinsamerBaumWald


An alle, die das LibreOffice-Forum gern nutzen:
Bitte beteiligen Sie sich mit 7 Euro pro Monat und helfen uns bei unserem Budget für das laufende.
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