🍀 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.

Abfrage mit mehreren Spalten für ein Feld?

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

Re: Abfrage mit mehreren Spalten für ein Feld?

Beitrag von RobertG » Do 18. Dez 2014, 12:09

Hallo Freischreiber,

Code: Alles auswählen

SELECT "t-aufträge"."ID",
"BUCHUNGEN"."Datum",
"a"."Betrag" "Ein19",
"b"."Betrag" "Ein7" ,
"c"."Betrag" "Aus19" ,
"d"."Betrag" "Aus7"
FROM
"BUCHUNGEN"
LEFT JOIN "BUCHUNGEN" AS "a"
ON ("BUCHUNGEN"."ID" = "a"."ID" AND "a"."KontoID" = 0)
LEFT JOIN "BUCHUNGEN" AS "b"
ON ("BUCHUNGEN"."ID" = "b"."ID" AND "b"."KontoID" = 1)
LEFT JOIN "BUCHUNGEN" AS "c"
ON ("BUCHUNGEN"."ID" = "c"."ID" AND "c"."KontoID" = 2)
LEFT JOIN "BUCHUNGEN" AS "d"
ON ("BUCHUNGEN"."ID" = "d"."ID" AND "d"."KontoID" = 3)
LEFT JOIN "t-aufträge"
ON "t-aufträge"."ID" = "Buchungen"."AuftragsID"
ORDER BY
"BUCHUNGEN"."Datum"
LEFT JOIN: Von der allerersten Tabelle werden auf jeden Fall alle Werte gezeigt. Und das sollte in Deinem Fall die Tabelle "Buchungen" sein. Die Tabelle "t-aufträge" hängst Du hinten an.

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

Freischreiber
* LO-Experte *
Beiträge: 866
Registriert: Fr 28. Mär 2014, 10:41

Re: Abfrage mit mehreren Spalten für ein Feld?

Beitrag von Freischreiber » Do 18. Dez 2014, 17:42

Hallo Robert,

vielen Dank!

Ich sehe schon, SQL ist ein besonders schlechtes Feld für trial and error :mrgreen:

Gruß
Freischreiber

:idea: Achte auf die dritte Ziffer: Libre Office 25.2.0.3 = Ärger ist vorprogrammiert.
Lesenswert: https://wiki.documentfoundation.org/ReleasePlan
Freischreiber nutzt seit 1/2025 LibreOffice 7.2.7.2 unter Windows 11 und SplitDB mit HSQL 2.7.4.

Freischreiber
* LO-Experte *
Beiträge: 866
Registriert: Fr 28. Mär 2014, 10:41

Re: Abfrage mit mehreren Spalten für ein Feld?

Beitrag von Freischreiber » Fr 9. Jan 2015, 16:54

Hallo,

zu diesem Thema habe ich eine neue Frage:

Die obige Abfrage würde ich gerne auf einen Zeitraum einschränken. Dazu habe ich versucht, die erste Tabelle einzuschränken mit:

Code: Alles auswählen

FROM (SELECT "t-buchungen".* FROM "t-buchungen" WHERE "t-buchungen"."Datum" >= :Anfangsdatum AND "t-buchungen"."Datum" <= :Enddatum) LEFT JOIN ...
anstatt dem einfachen

Code: Alles auswählen

FROM "t-buchungen" LEFT JOIN...
Das gibt aber eine Fehlermeldung user lacks privilege or object not found: t-buchungen.ID.
Kann mir jemand helfen: wo liegt der Fehler?

Gruß
Freischreiber

:idea: Achte auf die dritte Ziffer: Libre Office 25.2.0.3 = Ärger ist vorprogrammiert.
Lesenswert: https://wiki.documentfoundation.org/ReleasePlan
Freischreiber nutzt seit 1/2025 LibreOffice 7.2.7.2 unter Windows 11 und SplitDB mit HSQL 2.7.4.

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

Re: Abfrage mit mehreren Spalten für ein Feld?

Beitrag von RobertG » Fr 9. Jan 2015, 17:04

Hallo Freischreiber,

wo bei Dir plötzlich "t-buchungen" her kommen bleibt unklar. Die Meldung sagt nichts anderes, als dass Du entweder keinen Zugriff auf t-buchungen.ID hast oder das Feld überhaupt nicht existiert.
Will ich den bisherigen Code einschränken, dann geht das folgendermaßen:

Code: Alles auswählen

SELECT "t-aufträge"."ID",
"BUCHUNGEN"."Datum",
"a"."Betrag" "Ein19",
...
FROM
"BUCHUNGEN"
LEFT JOIN "BUCHUNGEN" AS "a"
ON ("BUCHUNGEN"."ID" = "a"."ID" AND "a"."KontoID" = 0)
...
LEFT JOIN "t-aufträge"
ON "t-aufträge"."ID" = "Buchungen"."AuftragsID"
WHERE "Buchungen"."Datum" BETWEEN :Anfangsdatum AND :Enddatum
ORDER BY
"BUCHUNGEN"."Datum"
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

Freischreiber
* LO-Experte *
Beiträge: 866
Registriert: Fr 28. Mär 2014, 10:41

Re: Abfrage mit mehreren Spalten für ein Feld?

Beitrag von Freischreiber » Fr 9. Jan 2015, 18:04

Hallo Robert,

'tschuldigung, das kommt von mir, weil ich alle Tabellennamen mit t-... beginne.

Danke, das war genau die Lösung, die ich gesucht hatte. Mir war nicht klar, daß man nach left joins noch mit where kommen kann...

Gruß
Freischreiber

:idea: Achte auf die dritte Ziffer: Libre Office 25.2.0.3 = Ärger ist vorprogrammiert.
Lesenswert: https://wiki.documentfoundation.org/ReleasePlan
Freischreiber nutzt seit 1/2025 LibreOffice 7.2.7.2 unter Windows 11 und SplitDB mit HSQL 2.7.4.


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