Anfänger: Kriterium bei der Abfrage über mehrere Tabellen

Antwort erstellen


BBCode ist eingeschaltet
[img] ist ausgeschaltet
[url] ist eingeschaltet
Smileys sind ausgeschaltet

Die letzten Beiträge des Themas
   

Ansicht erweitern Die letzten Beiträge des Themas: Anfänger: Kriterium bei der Abfrage über mehrere Tabellen

von Alla » Di, 22.08.2006 10:27

Hallo,

vielen Dank für die schnelle Antwort.
Wie ich verstanden habe, kann man SQL-Code nur in den Abfragen und Ansichten hinzufügen? Und in den Formularen hinter den Feldern...

Wenn ich z.B. einen Datensatz kopieren will, muss ich eine Schaltfläche erstellen und mit SQL-Code verknüpfen. Was muss dann drin stehen für Daten kopieren? Geht das überhaupt?

Gruss. Alla

von pmoegenb » Di, 22.08.2006 10:15

Hallo Alla,
Ich wollte aber wissen, wie das mit dem Beispiel aus der offiziellen Doku funktionieren soll.
Die Dokumentation durchzukauen ist mir zu aufwendig.
Wo kann ich denn SQL-Code im OpenOffice hinzufügen? Z.B. das, was du geschrieben hast?
  • - Datenquelle mit der rechten Maustaste anklicken und Datenbankdatei bearbeiten auswählen.
    - In OpenOffice.org Base im linken Fenster mit dem Titel Datenbank die Option Abfragen markieren.
    - Im Fenster mit dem Titel Aufgaben die Option Abfrage in SQL-Ansicht erstellen... mit der linken Maustaste doppelt anklicken.
Die Primärschlüssel von der 1. und 2. Tabelle sind doch schon über ID verbunden, oder habe ich was falsch verstanden?
Ich ging lediglich von der beschriebenen Ausgangssituation aus.

Informationen über SQL sind auch über http://de.wikipedia.org/wiki/SQL erhältlich und über Datenbanken unter http://de.wikipedia.org/wiki/Datenbanken

von Alla » Di, 22.08.2006 09:18

Hallo "pmoegenb",

vielen Dank für die Antwort. Ich wollte aber wissen, wie das mit dem Beispiel aus der offiziellen Doku funktionieren soll.

Wo kann ich denn SQL-Code im OpenOffice hinzufügen? Z.B. das, was du geschrieben hast?

Die Primärschlüssel von der 1. und 2. Tabelle sind doch schon über ID verbunden, oder habe ich was falsch verstanden?

Gruss. Alla

von pmoegenb » Do, 17.08.2006 12:04

Hallo Alla,

wenn Du davon ausgehst, dass eine Person des öfteren heiratet, ist es sicherlich sinnvoll, für den Heiratsmonat (ich würde das Hochzeitsdatum nehmen und den Monat bei der Auswertung extrahieren), eine 2. Tabelle anzulegen. Statt dem Namen in der 2. Tabelle müsste der Primärschlüssel (PS) der 1. Tabelle in der 2. Tabelle gespeichert werden. Gleiche Vor- und Nachnamen gibts immer wieder. Die 3. Tabelle ist überflüssig. Ein SQL-Code könnte dann wie folgt aussehen:

Code: Alles auswählen

SELECT * FROM "Tabelle2", "Tabelle1"
WHERE "Tabelle2.Monat" = :Monat
AND "Tabelle1.PS" = "Tabelle2.Personalnummer"
ORDER BY "Tabelle1.Name"

Anfänger: Kriterium bei der Abfrage über mehrere Tabellen

von Alla » Do, 17.08.2006 11:17

Hallo an alle,

ich muss jetzt beruflich eine Datenbank erstellen und bin dabei mich einzuarbeiten. Da mache ich gerade ein paar Beispiele nach, die bei mir leider nicht funktionieren.
Folgende Ausgangssituation: 3 Tabellen.
Tabelle 1: ID (Primärschlüssel), Name, Adresse.
Tabelle 2: ID (PS), Name, Hochzeitsmonat
Tabelle 3: ID (PS), Monatsname (1-Jan, 2-Feb usw)

Im Beispiel sollen Name und Adresse von Personen angezeigt werden, die im Juli geheiratet haben. Die beiden ID's von den Tab. 1 und 2 wurden in der Abfrage verbunden und als Kriterium beim Hochzeitsmonat eine '7' eingetragen für Juli. Leider wurde in der Doku nicht beschrieben, wie man eine Verbindung von Tab 2 zu Tab 3 macht. Ich habe es rausgefunden, dass man im Formular eine Liste machen kann, die zur Tab 3.Monatsname verbunden ist. Dann kann man die Monate auswählen.

Nur leider funktioniert die Abfrage nur, wenn ich nach 'Jul' suche und nicht, wenn ich nach '7' suche. Ich habe schon ausprobiert, in der Abfrage die Tab 2 und 3 über Hochzeitsmonat<->Monatsname zu verbinden. Dann den Primärschlüssel von Tab 3 auf Monatsname zu legen - es funktioniert beides nicht.
Die Beispiele habe ich von hier:
http://documentation.openoffice.org/man ... thBase.pdf

Kann mir jemand helfen?

Gruss. Alla

Nach oben