🙏 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!🍀
>> 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 soll unvollständige Datensätze ausgeben
Abfrage soll unvollständige Datensätze ausgeben
Hallo zusammen,
ich habe eigentlich nur eine kleine Bitte. Die gefilterten Daten (Formular Suche/Filterformular) und somit auch die Berichte die auf die Abfrage "Abfr_Name_Datum_Bez" basieren sollten auch unvollständige Datensätze anzeigen.
Diese Abfrage ist für mich schon schwer zu deuten. Könnte mir bitte jemand den SQL-Code dieser Abfrage dementsprechend anpassen. Habe etwas von "INFULL" aufgeschnappt!? Vielen Dank im Voraus
gez. Murkser
ich habe eigentlich nur eine kleine Bitte. Die gefilterten Daten (Formular Suche/Filterformular) und somit auch die Berichte die auf die Abfrage "Abfr_Name_Datum_Bez" basieren sollten auch unvollständige Datensätze anzeigen.
Diese Abfrage ist für mich schon schwer zu deuten. Könnte mir bitte jemand den SQL-Code dieser Abfrage dementsprechend anpassen. Habe etwas von "INFULL" aufgeschnappt!? Vielen Dank im Voraus
gez. Murkser
Re: Abfrage soll unvollständige Datensätze ausgeben
Hallo Murkser,
das Ganze liegt daran, dass schlicht in einigen Tabellen keine Daten sind. Und wenn z.B. "Dienste" leer ist und Du verbindest diese mit anderen Tabellen, dann bekommst Du nur ein leeres Ergebnis raus. Du musst mit so etwas wie LEFT JOIN arbeiten. Dazu muss aber erst einmal klar sein, welches denn in Deinem Sammelsurium die Haupttabelle ist, die auf jeden Fall angezeigt werden soll.
Ich habe die Beziehungen einmal erstellt und komme darauf, dass genau die Tabelle "Dienste" die zentrale Tabelle ist. Ohne Inhalte in dieser Tabelle bleibt die Anzeige immer leer.
In die Tabelle gehört vor der Angabe des ganzen Filter-Inhaltes
Gruß
Robert
das Ganze liegt daran, dass schlicht in einigen Tabellen keine Daten sind. Und wenn z.B. "Dienste" leer ist und Du verbindest diese mit anderen Tabellen, dann bekommst Du nur ein leeres Ergebnis raus. Du musst mit so etwas wie LEFT JOIN arbeiten. Dazu muss aber erst einmal klar sein, welches denn in Deinem Sammelsurium die Haupttabelle ist, die auf jeden Fall angezeigt werden soll.
Ich habe die Beziehungen einmal erstellt und komme darauf, dass genau die Tabelle "Dienste" die zentrale Tabelle ist. Ohne Inhalte in dieser Tabelle bleibt die Anzeige immer leer.
In die Tabelle gehört vor der Angabe des ganzen Filter-Inhaltes
Code: Alles auswählen
FROM "Dienste" LEFT JOIN "Personal" ON "Dienste"."Pers_id" = "Personal"."ID" LEFT JOIN "Schicht" ON "Schicht"."ID" = "Dienste"."Schicht_id" LEFT JOIN "Teams" ON "Teams"."ID" = "Dienste"."Teams_id"
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
https://www.familiegrosskopf.de/robert/index.php?&Inhalt=base_handbuch
https://www.familiegrosskopf.de/robert/index.php?&Inhalt=xml_formulare
Re: Abfrage soll unvollständige Datensätze ausgeben
Vielen Dank zunächst. Habe die Daten aus Datenschutzgründen gelöscht. Auch mit Daten wurden keine Datensätze in der Abfrage angezeigt. Ich versuche mit JOIN zum erfolgt zu kommen.
Re: Abfrage soll unvollständige Datensätze ausgeben
Datensätze wurden nur angezeigt wenn der Datensatz vollständig war und keine leeren Felder enthielt
Re: Abfrage soll unvollständige Datensätze ausgeben
Hallo Maltan,
mach zuerst einmal die Beziehung zwischen den Tabellen fertig.
Setze dann die Datenbank mit ein paar Dummydatensätzen wieder ins Netz, damit klar wird, was Du erwartest und was wirklich fehlt.
Wie beschrieben. Ohne Daten kann natürlich auch nichts angezeigt werden. Da kann jede(r) Helfer(in) nur im Trüben fischen.
Gruß
Robert
mach zuerst einmal die Beziehung zwischen den Tabellen fertig.
Setze dann die Datenbank mit ein paar Dummydatensätzen wieder ins Netz, damit klar wird, was Du erwartest und was wirklich fehlt.
Wie beschrieben. Ohne Daten kann natürlich auch nichts angezeigt werden. Da kann jede(r) Helfer(in) nur im Trüben fischen.
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
https://www.familiegrosskopf.de/robert/index.php?&Inhalt=base_handbuch
https://www.familiegrosskopf.de/robert/index.php?&Inhalt=xml_formulare
Re: Abfrage soll unvollständige Datensätze ausgeben
Habe leider auch mit Beziehungen keine große Ahnung. Man hat mir hier einmal weitergeholfen mit einem Filter über eine Parameterabfrage (siehe SQL "Abfr_Name_Datum_Bez"). Ich glaube das heisst so. Dazu habe ich keine Beziehungen setzen müssen. Die Datenbank habe ich noch einmal mit Dummys angehängt. Zwei Datensätze, einer vollständig der andere unvollständig im Sinne der Parameterabfrage (siehe Bildanhang). Ebenfalls als Bildanhang die Ansichten des Filterformulars "Suche" und der Haupttabelle "Dienste" . Vielleicht gibt es ja für mich eine einfache Lösung auch die unvollständigen Datensätze im Suchformular ="Abfr_Name_Datum_Bez" anzueigen weil daraus auch mein Bericht gespeist wird.
Vielen Dank

Vielen Dank
- Dateianhänge
-
- Suchformular.jpg (21.85 KiB) 1897 mal betrachtet
-
- Parameterabfrag.jpg (33.48 KiB) 1897 mal betrachtet
-
- Datensätze teils unvollständig.jpg (15.76 KiB) 1897 mal betrachtet
-
- libreforum.zip
- (69.1 KiB) 108-mal heruntergeladen
Re: Abfrage soll unvollständige Datensätze ausgeben
Hallo Maltan,
vermutlich suchst Du diesen Code für die Abfrage:
Mach' daraus einmal eine neue Abfrage und schau Dir das an.
Gruß
Robert
vermutlich suchst Du diesen Code für die Abfrage:
Code: Alles auswählen
SELECT "Dienste"."ID", "Dienste"."Datum", "Dienste"."Termin",
"Dienste"."Bemerkung", "Personal"."Name", "Schicht"."Bezeichnung",
"Teams"."Gruppe", "Schicht"."Reih_id"
FROM "Dienste"
LEFT JOIN "Personal" ON "Dienste"."Pers_id" = "Personal"."ID"
LEFT JOIN "Schicht" ON "Schicht"."ID" = "Dienste"."Schicht_id"
LEFT JOIN "Teams" ON "Teams"."ID" = "Dienste"."Teams_id",
"Filter" WHERE
( LOWER ( "Personal"."Name" ) LIKE LOWER ( "F_NAME" || '%' ) OR "F_NAME" IS NULL )
AND ( LOWER ( "Schicht"."Bezeichnung" ) LIKE LOWER ( "F_BEZEICHNUNG" || '%' ) OR "F_BEZEICHNUNG" IS NULL )
AND ( LOWER ( "Teams"."Gruppe" ) LIKE LOWER ( "F_GRUPPE" || '%' ) OR "F_GRUPPE" IS NULL )
AND ( "Dienste"."Datum" >= "F_DATUM_VON" OR "F_DATUM_VON" IS NULL )
AND ( "Dienste"."Datum" <= "F_DATUM_BIS" OR "F_DATUM_BIS" IS NULL )
AND ( "Dienste"."Termin" >= "F_TERMIN_VON" OR "F_TERMIN_VON" IS NULL )
AND ( "Dienste"."Termin" <= "F_TERMIN_BIS" OR "F_TERMIN_BIS" IS NULL )
ORDER BY "Dienste"."Datum", "Dienste"."Termin", "Schicht"."Reih_id" ASC
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
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.