🙏 Bitte helfen Sie uns das LibreOffice Forum zu erhalten. 🙏
Ihre Spende wird für die Deckung der laufenden Kosten sowie den Erhalt und Ausbau 🌱 des LibreOffice Forums verwendet.

🍀 Wir hoffen auf Ihre Unterstützung - vielen Dank!🍀

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

Fremdschlüssel auflösen

Base ermöglicht es Ihnen, Ihre Daten in einer Datenbank direkt mit LibreOffice zu bearbeiten.
Antworten
hanzf
Beiträge: 6
Registriert: Mi 12. Feb 2014, 14:26

Fremdschlüssel auflösen

Beitrag von hanzf » Mi 12. Feb 2014, 14:55

Guten Tag,

Ich habe eine Adressdatenbank übernommen, die aus 5 Tabellen besteht. Es gibt eine Tabelle "Kunden", in der die Adressen jedoch nicht im Klartext gespeichert ist, sondern mit Fremdschlüsseln, die auf Einträge in den Tabellen "Strasse" und "Ort" verweisen.
(nochmals 2 Tabellen dienen der Zuordnung der Personen zu Gruppen, das ist vorerst nicht so wichtig)
Gibt es eine Möglichkeit, ein Formular zu erstellen, in dem ich Name, Straße und Ort eingeben kann und die Daten werden auf die verschiedenen Tabellen verteilt?

Alternativ hatte ich die Idee, die 3 Tabellen "Kunden", "Strasse" und "Ort" zu einer zusammenzufassen, d.h. die Strassen- und Ortsnamen im Klartext in die Kundentabelle zu schreiben. Ich habe ein bißchen Übung mit mySQL und habe mal folgende Abfrage gestartet:

Code: Alles auswählen

select * from Kunden join Strasse on Kunden.STRASSENR=Strasse.StrasseID;
und folgende Meldung bekommen:

Code: Alles auswählen

Die Abfrage kann nicht ausgeführt werden. Sie enthält mehr als eine Tabelle.
Wie kann ich die Tabellen miteinander verbinden?
Steht SQL in Libreoffice überhaupt komplett zur Verfügung oder nur in stark eingeschränkter Form?

Danke
Hans

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

Re: Fremdschlüssel auflösen

Beitrag von RobertG » Mi 12. Feb 2014, 15:29

Hallo Hans,

wenn ich die Fehlermeldung sehe, dann hast Du anscheinend die Tabellen in einem Calc-Tabellendokument vorliegen. Calc-Tabellen kann Base nicht miteinander über SQL verbinden. Da gehen Abfragen nur bezogen auf eine Tabelle.
Um SQL vernünftig anwenden zu können musst Du die Tabellen in eine neue Datenbank einlesen. Dann kannst Du auf alle Befehle zugreifen, die die Datenbank zur Verfügung stellt - natürlich über mehrere Tabellen. Da kannst Du Dir dann für solche doch recht einfachen Abfragen des grafischen Editor zu Hilfe nehmen, der den Code so produziert, dass er auch in Base zusammen mit der internen HSQLDB funktioniert. Mit den Feldbezeichnungen könntest Du sonst Pech haben. Die werden bei der HSQLDB zur Sicherheit in doppelte Anführungsstriche oben gesetzt. Sonst kann es mit der Groß- und Kleinschreibung Probleme geben, noch mehr natürlich bei Sonderzeichen ...

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