BITTE helfen Sie uns HEUTE mit einer SPENDE
Helfen Sie das LibreOffice Forum zu erhalten!

❤️ DANKE >><< DANKE ❤️

> KEINE WERBUNG FÜR REGISTRIERTE BENUTZER!<
Ihre Spende wird für die Deckung der laufenden Kosten sowie den Erhalt und Ausbau 🌱 des LibreOffice Forums verwendet.
🤗 Als Dankeschön werden Sie im Forum als LO-SUPPORTER gekennzeichnet. 🤗

[gelöst] In Abfrage 2 Datenfelder unterscheiden, die sich auf 1 Tabelle beziehen?

Base ermöglicht es Ihnen, Ihre Daten in einer Datenbank direkt mit LibreOffice zu bearbeiten.
Antworten
HansGerstenkorn
Beiträge: 137
Registriert: Sa 17. Sep 2016, 18:31

[gelöst] In Abfrage 2 Datenfelder unterscheiden, die sich auf 1 Tabelle beziehen?

Beitrag von HansGerstenkorn » Sa 23. Sep 2017, 19:49

Hallo,
im Moment verrenne ich mich und komme nicht weiter, weil ich auch kaum SQL-Kenntnisse habe.

Ich möchte in einer Abfrage von zwei unterschiedlichen Feldern, die sich auf die Gleiche Tabelle beziehen, die Bezeichnungen und nicht die ID anzeigen. Bei einem Feld gelingt mir das natürlich, aber beim zweiten Feld weiß ich nicht wie, ohne das gleiche Ergebnis anzuzeigen.
Ich habe eine Tabelle, wo einer Person unterschiedliche Funktionen zugeordnet werden. Die Funktionen sind in einer Tabelle hinterlegt. Wie differenziere ich bei einer Abfrage?
Zur Info habe ich die Ansicht angehängt, die Namen sind ausgeblendet.

Vielen Dank für einen Tip, habe ich ein Beispiel, komme ich schon weiter :-)
Dateianhänge
Abfrage 2 Felder auf 1 Tabelle.jpg
Abfrage 2 Felder auf 1 Tabelle.jpg (115.95 KiB) 3421 mal betrachtet
Zuletzt geändert von HansGerstenkorn am Do 28. Sep 2017, 08:10, insgesamt 4-mal geändert.
MacBook Pro = LO Version: 6.2.3.1; CPU-Threads: 8; BS: mac OS Mojave Version 10.14.4;

Lenovo T430S; Intel Core i5-3320M CPU @ 2.60 GHZ, 2601 MHz, 2 Kerne, LO Version: 6.0.2.1 (x64); Microsoft Windows 10 Pro; 10.0.16299;

RobertG
Beiträge: 2732
Registriert: Sa 19. Mai 2012, 17:37
Kontaktdaten:

Re: In Abfrage 2 Datenfelder unterscheiden, die sich auf 1 Tabelle beziehen?

Beitrag von RobertG » So 24. Sep 2017, 15:53

Hallo Hans,

füge die Tabelle "Funktion" ein 2. Mal hinzu. Sie bekommt als 2. Tabelle automatisch den Alias "Funktion_1" zugewiesen. Verbinde dann die "ID" von "Funktion_1" mit "Funktion-ID-2" von der Tabelle "Status". Jetzt kannst Du aus "Funktion_1" "Bezeichnung" hinzufügen.

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

HansGerstenkorn
Beiträge: 137
Registriert: Sa 17. Sep 2016, 18:31

Re: In Abfrage 2 Datenfelder unterscheiden, die sich auf 1 Tabelle beziehen?

Beitrag von HansGerstenkorn » So 24. Sep 2017, 23:31

Hallo Robert,

herzlichen Dank, für den Wissenden ganz einfach, aber darauf, dass man eine Tabelle noch einmal neu einfügt, bin ich einfach nicht gekommen, super, ein ganz toller Start in die neue Woche, dann kann ich morgen gleich meinen Jahresstatus angehen....

Viele Grüße zum Wochenanfang :-) Hans
MacBook Pro = LO Version: 6.2.3.1; CPU-Threads: 8; BS: mac OS Mojave Version 10.14.4;

Lenovo T430S; Intel Core i5-3320M CPU @ 2.60 GHZ, 2601 MHz, 2 Kerne, LO Version: 6.0.2.1 (x64); Microsoft Windows 10 Pro; 10.0.16299;

HansGerstenkorn
Beiträge: 137
Registriert: Sa 17. Sep 2016, 18:31

Re: In Abfrage 2 Datenfelder unterscheiden, die sich auf 1 Tabelle beziehen?

Beitrag von HansGerstenkorn » Di 26. Sep 2017, 11:47

Hallo Robert,

ich habe zu früh frohlockt, jetzt wird zwar die Bezeichnung im Klartext angezeigt, aber ich bekomme nur eine kleine Auswahl und nicht die ganze Tabelle angezeigt.... Hast Du eine Idee?

Viele Grüße
:-) Hans
Dateianhänge
mehrere_Beziehungen.jpg
mehrere_Beziehungen.jpg (106.4 KiB) 3369 mal betrachtet
MacBook Pro = LO Version: 6.2.3.1; CPU-Threads: 8; BS: mac OS Mojave Version 10.14.4;

Lenovo T430S; Intel Core i5-3320M CPU @ 2.60 GHZ, 2601 MHz, 2 Kerne, LO Version: 6.0.2.1 (x64); Microsoft Windows 10 Pro; 10.0.16299;

RobertG
Beiträge: 2732
Registriert: Sa 19. Mai 2012, 17:37
Kontaktdaten:

Re: In Abfrage 2 Datenfelder unterscheiden, die sich auf 1 Tabelle beziehen?

Beitrag von RobertG » Di 26. Sep 2017, 15:11

Hallo Hans,

Problem für mich: Ich mache so etwas immer direkt in SQL, nicht in der GUI.
1. Fällt mir auf, dass bei Dir bei "Funktion" an der "ID" einfach grafisch ein weiterer 'Ausgang' links zu sehen ist. Woher der kommt kann ich nicht sagen.
2. Kann es sein, dass nicht alle eine Funktion-ID-2 haben? Dann müsstest Du die Verbindungseigenschaften bearbeiten. Auf die verbindende Linie gehen und dort die Eigenschaften aufrufen. So einstellen, dass alle Datensätze von "Status" angezeigt werden, auch wenn keine "Funktion_1" dazu existiert.

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

HansGerstenkorn
Beiträge: 137
Registriert: Sa 17. Sep 2016, 18:31

Re: In Abfrage 2 Datenfelder unterscheiden, die sich auf 1 Tabelle beziehen?

Beitrag von HansGerstenkorn » Di 26. Sep 2017, 20:27

Hallo Robert,

Danke, dass Du Dich darum kümmerst.

zu 1.
ich weiß auch nicht, was der Strich links sollte, bei erneutem Aufruf war er noch da, zeigte aber nirgends hin, ich habe ihn angeklickt -sah aus wie eine Verbindung in's Nirwana - und dann gelöscht, alles jedoch unverändert.

zu 2.
alle haben in "Funktion_2" einen Wert, bis auf 4 haben allerdings alle den Wert "0":
Wert.jpg
Wert.jpg (58.43 KiB) 3352 mal betrachtet
hier die Abfrage in SQL:

SELECT "Status"."ID" AS "ID", "Bereich"."Bezeichnung" AS "Abteilung/Bereich", "Funktion"."Bezeichnung" AS "Funktion-1", "Funktion_1"."Bezeichnung" AS "Funktion-2", "Status"."FunktionEnde" AS "FunktionEnde", "Status"."Verpflichtungserklärung" AS "Verpflichtungserklärung" FROM "Status", "Bereich", "Funktion", "Funktion" AS "Funktion_1" WHERE "Status"."Bereich-ID" = "Bereich"."ID" AND "Funktion"."ID" = "Status"."Funktion-ID-1" AND "Funktion_1"."ID" = "Status"."Funktion-ID-2"


Hoffentlich helfen Dir diese Angaben, ansonsten bitte anfordern.

"Bereinigte" DB ist angehängt...

:-))) Hans
Dateianhänge
Status_Verpflichtungserklärungen.odb.zip
(39.53 KiB) 124-mal heruntergeladen
MacBook Pro = LO Version: 6.2.3.1; CPU-Threads: 8; BS: mac OS Mojave Version 10.14.4;

Lenovo T430S; Intel Core i5-3320M CPU @ 2.60 GHZ, 2601 MHz, 2 Kerne, LO Version: 6.0.2.1 (x64); Microsoft Windows 10 Pro; 10.0.16299;

HansGerstenkorn
Beiträge: 137
Registriert: Sa 17. Sep 2016, 18:31

Re: In Abfrage 2 Datenfelder unterscheiden, die sich auf 1 Tabelle beziehen?

Beitrag von HansGerstenkorn » Mi 27. Sep 2017, 16:37

Hallo Switi,

mein Problem ist, dass ich in der Abfrage "Abfrage_Status_Alle_Funktion_1-FEHLER" (siehe angehängte DB - aus meiner letzten Antwort an Robert) nur einen Teil angezeigt bekomme. Ich müsste imgrunde alle Datensätze angezeigt bekommen, nur eben in den Spalten nicht die Ziffern der Beziehung "Funktion" sondern eben die Bezeichnung. Das klappt ausgerechnet bei dieser Abfrage nicht. Ich möchte einfach alle Musternamen angezeigt bekommen mit allen Funktionen_1 und mit allen Funktionen_2. Wenn Du Dir die Tabelle Status ansiehst, siehst Du dass überall Werte für die Beziehungen vorhanden sind, aber die Bezeichnung der Werte klappt hier ausgerechnet nicht, bei den Spalten mit der JaNein-Beziehung ist das kein Problem....

Sicher weißt Du Rat.

Vielen Dank und Gruß :-) Hans
MacBook Pro = LO Version: 6.2.3.1; CPU-Threads: 8; BS: mac OS Mojave Version 10.14.4;

Lenovo T430S; Intel Core i5-3320M CPU @ 2.60 GHZ, 2601 MHz, 2 Kerne, LO Version: 6.0.2.1 (x64); Microsoft Windows 10 Pro; 10.0.16299;

RobertG
Beiträge: 2732
Registriert: Sa 19. Mai 2012, 17:37
Kontaktdaten:

Re: In Abfrage 2 Datenfelder unterscheiden, die sich auf 1 Tabelle beziehen?

Beitrag von RobertG » Mi 27. Sep 2017, 18:23

Hallo Hans,

wenn Du versuchen würdest, unter Extras > Beziehungen die Beziehung zwischen der Tabelle Funktion und Status.Funktion-ID-2 zu definieren, dann würdest Du den Fehler bemerken: '0' ist in Deiner Tabelle "Funktion" nicht belegt. Also werden alle Datensätze mit '0' als Funktion-ID-2 nicht angezeigt.
Mach' einfach das Folgende unter Extras > SQL:

Code: Alles auswählen

INSERT INTO "Funktion" VALUES (0,'')
Das sorgt dafür, dass eine ID 0 erstellt wird und diese mit einem leeren Textfeld verbunden ist.

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

HansGerstenkorn
Beiträge: 137
Registriert: Sa 17. Sep 2016, 18:31

Re: In Abfrage 2 Datenfelder unterscheiden, die sich auf 1 Tabelle beziehen?

Beitrag von HansGerstenkorn » Mi 27. Sep 2017, 18:54

Hallo Robert,

ich glaube, ich bin erst jetzt dahinter gekommen, was mit

"2. Kann es sein, dass nicht alle eine Funktion-ID-2 haben? Dann müsstest Du die Verbindungseigenschaften bearbeiten. Auf die verbindende Linie gehen und dort die Eigenschaften aufrufen. So einstellen, dass alle Datensätze von "Status" angezeigt werden, auch wenn keine "Funktion_1" dazu existiert."

gemeint hast. Ich habe es jetzt hinbekommen, indem ich die Möglichkeiten des Typs einfach durchprobiert habe.

Ich weiß aber trotzdem nicht, wie ich feststelle, dass die "0" nicht existiert, wenn ich die Beziehung definiere, für mich ist definieren lediglich die Linie herzustellen... - sicher sehe ich das zu einfach....


trotzdem vielen Dank für die Mühe und viele Grüße :-) Hans
MacBook Pro = LO Version: 6.2.3.1; CPU-Threads: 8; BS: mac OS Mojave Version 10.14.4;

Lenovo T430S; Intel Core i5-3320M CPU @ 2.60 GHZ, 2601 MHz, 2 Kerne, LO Version: 6.0.2.1 (x64); Microsoft Windows 10 Pro; 10.0.16299;

RobertG
Beiträge: 2732
Registriert: Sa 19. Mai 2012, 17:37
Kontaktdaten:

Re: In Abfrage 2 Datenfelder unterscheiden, die sich auf 1 Tabelle beziehen?

Beitrag von RobertG » Mi 27. Sep 2017, 20:51

Hallo Hans,

wenn Du eine Beziehung definieren willst, dann ist dies nicht möglich, wenn zu einem Fremdschlüssel kein entsprechender Primärschlüsselwert vorhanden ist. Du hattest lauter 0-Werte in der Tabelle "Status" im Feld "Funktion-ID-2". Dazu gab es keine Entsprechung. Ist die Beziehung unter Extras > Beziehungen erst einmal definiert, so kannst Du nie einen Wert im Feld "Funktion-ID-2" eintragen, der als "ID" in "Funktion" nicht vorkommt.

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


Bitte beteiligen Sie sich mit 7 Euro pro Monat und helfen uns bei unserem Budget für das Jahr 2024.
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