🙏 Helfen Sie jetzt mit, unser LibreOffice Forum zu erhalten! 🙏
Mit Ihrer Spende sichern Sie den Fortbestand, den Ausbau und die laufenden Kosten dieses Forums. 🌱

🍀 Jeder Beitrag zählt – vielen Dank für Ihre Unterstützung!🍀

❤️ DANKE >> << DANKE ❤️

>> Dank Ihrer Unterstützung -> Keine Werbung für alle registrierten LibreOffice-Forum User! <<
🤗 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: 2884
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: 832
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
Freischreiber nutzt seit 1/2025 LibreOffice Version 7.2.7.2 unter Windows 11 und SplitDB mit HSQL 2.7.4.
Lesenswert: https://wiki.documentfoundation.org/ReleasePlan/de

Freischreiber
* LO-Experte *
Beiträge: 832
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
Freischreiber nutzt seit 1/2025 LibreOffice Version 7.2.7.2 unter Windows 11 und SplitDB mit HSQL 2.7.4.
Lesenswert: https://wiki.documentfoundation.org/ReleasePlan/de

RobertG
* LO-Experte *
Beiträge: 2884
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: 832
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
Freischreiber nutzt seit 1/2025 LibreOffice Version 7.2.7.2 unter Windows 11 und SplitDB mit HSQL 2.7.4.
Lesenswert: https://wiki.documentfoundation.org/ReleasePlan/de


An alle, die das LibreOffice-Forum gern nutzen und unterstützen wollen:


Bitte helfen Sie uns mit 7 Euro pro Monat.
Durch Ihren Beitrag tragen Sie dazu bei, unsere laufenden Kosten für die kommenden Monate zu decken.
Unkompliziert per Kreditkarte oder PayPal.
Als ein kleines Dankeschön werden Sie im LO-Forum als SUPPORTER gekennzeichnet.



Antworten