❤️ Helfen Sie noch heute, unser LibreOffice Forum zu erhalten! ❤️
Unterstützen Sie das LibreOffice-Forum und helfen Sie uns, unser Ziel für 2025 zu erreichen!

🍀 Jeder Beitrag zählt – vielen Dank für Ihre Unterstützung!🍀
Mit Ihrer Spende sichern Sie den Fortbestand, den Ausbau und die laufenden Kosten dieses Forums. 🌱


❤️ 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. 🤗

LibreOffice Datenbank base

Base ermöglicht es Ihnen, Ihre Daten in einer Datenbank direkt mit LibreOffice zu bearbeiten.
Antworten
Anke Hamann
Beiträge: 3
Registriert: Do 24. Nov 2016, 11:49

LibreOffice Datenbank base

Beitrag von Anke Hamann » Sa 26. Nov 2016, 11:09

Hallo,
meine Töchter sollen Abfragen erstellen. Die Lehrerin gibt an, dass sie folgendes als SQL Ansicht eingeben sollen
SELECT
b.verlag
FROM Tbl_buecher b;
Das funktioniert aber bei uns zu Hause nicht. Es funktioniert nur mit Gänsefüsschen. Die Lehrerin behauptet aber es muss
funktionieren. Was machen wir falsch?

Gruß
Anke Hamann

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

Re: LibreOffice Datenbank base

Beitrag von RobertG » Sa 26. Nov 2016, 17:30

Hallo Anke,
Anke Hamann hat geschrieben: Das funktioniert aber bei uns zu Hause nicht. Es funktioniert nur mit Gänsefüsschen. Die Lehrerin behauptet aber es muss
funktionieren. Was machen wir falsch?
Na ja, die Lehrerin benutzt vermutlich nicht LibreOffice Base oder AOO Base. Da werden eben die Maskierungen automatisch hinzugefügt. Gib so eine Abfrage unter
Extras > SQL
ein und markiere vorher "Ausgabe der "select"-Aussagen anzeigen".

So eine Abfrage kannst Du auch abspeichern, indem Du bei den Abfragen den Designmodus ausschaltest und anschließend "SQL-Kommando direkt ausführen" wählst. Nur funktioniert dann die Abfrage nicht mehr, da Base die Abfrage unbearbeitet an die interne HSQLDB weiterreicht. Und die interne HSQLDB erwartet diese Anführungszeichen.
Maskierungen mit Anführungsstrichen oben werden z.B. für die interne HSQLDB von Base genutzt. Bei der direkten Ansprache von z.B. MySQL macht Base aus den doppelten Anführungszeichen oben ein `. Die Maskierungen sind Pflicht, wenn Sonderzeichen (auch Leertasten) in den Feldbefehlen vorhanden sind.

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

Anke Hamann
Beiträge: 3
Registriert: Do 24. Nov 2016, 11:49

Re: LibreOffice Datenbank base

Beitrag von Anke Hamann » Sa 26. Nov 2016, 18:42

Jetzt hat es geklappt. Die Lehrerin hat zwar gesagt, sie müssen den Button SQL-Kommando direkt ausführen anklicken. Deshalb haben sie es
natürlich hier zu Hause auch gemacht. Wenn ich aber den Befehl jetzt eingebe und gehe gleich auf Abfrage ausführen, dann macht er es mit
b.
Danke für die Hilfe, bis zum nächsten Mal

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

Re: LibreOffice Datenbank base

Beitrag von Freischreiber » Mo 28. Nov 2016, 17:05

Hallo,

kann mir jemand diese Abfrage erklären? Ich verstehe schon die Frage nicht...

Code: Alles auswählen

SELECT
b.verlag
FROM Tbl_buecher b;
Was hat es mit dem "b." auf sich und mit dem "b;" nach der Tabellenbezeichnung? Das kenne ich so nicht.

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: 2888
Registriert: Sa 19. Mai 2012, 17:37
Kontaktdaten:

Re: LibreOffice Datenbank base

Beitrag von RobertG » Mo 28. Nov 2016, 20:45

Hallo Freischreiber,

Code: Alles auswählen

SELECT
b.verlag
FROM Tbl_buecher b;
... ist eine Abfrage, die mit einem Alias für die Tabelle arbeitet, diesen aber nicht mit 'AS' kennzeichnet. Das macht LO inzwischen grundsätzlich nicht mehr, da Oracle mit dem 'AS' als Aliaszuweisung Probleme hat.

Code: Alles auswählen

SELECT b.verlag FROM Tbl_buecher AS b;
zeigt die Aliaszuweisung mit 'AS'

Code: Alles auswählen

SELECT verlag FROM Tbl_buecher
macht hier dasselbe. Der Alias ist unnötig.

Code: Alles auswählen

SELECT "verlag" FROM "Tbl_buecher"
wäre das, was LO in der GUI daraus machen würde. Ist ebenfalls gleichbedeutend.

Ein Alias macht dann Sinn, wenn Du mehrmals auf die gleiche Tabelle, aber mit anderen Vorgaben in einer Abfrage zugreifen willst. Auch für korrelierende Unterabfragen ist so etwas erforderlich. Gerade bei dieser Abfrage ergibt das aber keinen Sinn. Vielleicht ist aber auch die Abfrage so nur auf ein Grundgerüst reduziert. Das müsste dann Anke (bzw. ihre Töchter oder auch die Lehrerin) beantworten können.

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: 837
Registriert: Fr 28. Mär 2014, 10:41

Re: LibreOffice Datenbank base

Beitrag von Freischreiber » Fr 2. Dez 2016, 15:37

Hallo Robert,

vielen Dank für die Erklärung. Daß es Tabellen-Aliasse gibt, war mir gar nicht bewußt...

Gut finde ich die Idee nicht, Wörter wie "as" zu streichen. Sie machen ja eigentlich das L in SQL aus, für Menschen jedenfalls.

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