🍀 Das LibreOffice Forum braucht HEUTE Ihre Hilfe! 🍀
❤️ Spenden Sie jetzt und sichern Sie die Zukunft unseres LibreOffice-Forums ❤️
Ihre Spende hilft, die Community offen, werbefrei (bei Registrierung) und lebendig zu halten. Vielen lieben Dank!
>> Das LibreOffice-Forum lebt von Ihnen – und von vielen Experten, die freiwillig und kostenlos ihr Wissen teilen.<<
Als Dankeschön werden Sie im Forum als LO-SUPPORTER gekennzeichnet.
Zusammenfassen von Datensätzen
Zusammenfassen von Datensätzen
Hallo liebe Base-Community,
ich hänge an einem Problem fest, welches vermutlich nicht so schwer zu lösen ist, aber das liegt wohl an einer Schranke vor dem Kopf.
Es geht um folgendes:
Es existiert eine Tabelle mit den Spalten wie folgt:
Kundennummer, StandortNr, StraßeNr, PLZ, Ort, Merkmal1, Merkmal2, Merkmal3, ...
Die Merkmale sind Boolsche Operatoren, also entweder TRUE oder FALSE.
Zu einem Kunden existieren mehrere Standorte. Jeder Standort hat seine eigenen Merkmale.
Nun möchte ich diese Merkmale in einer Abfrage zu einem Kunden zusammenfassen. Das Merkmal-Feld soll TRUE ergeben, sobald irgendein Standort dieses Merkmal hat.
Entsprechend: Wenn keiner der Standorte des Kunden ein Merkmal hat, soll FALSE zurückgegeben werden.
Dieses Problem ist wahrscheinlich relativ leicht lösbar, ich komme bloß nicht drauf. Vielen Dank für eure Unterstützung!
Beste Grüße,
Eixen
ich hänge an einem Problem fest, welches vermutlich nicht so schwer zu lösen ist, aber das liegt wohl an einer Schranke vor dem Kopf.
Es geht um folgendes:
Es existiert eine Tabelle mit den Spalten wie folgt:
Kundennummer, StandortNr, StraßeNr, PLZ, Ort, Merkmal1, Merkmal2, Merkmal3, ...
Die Merkmale sind Boolsche Operatoren, also entweder TRUE oder FALSE.
Zu einem Kunden existieren mehrere Standorte. Jeder Standort hat seine eigenen Merkmale.
Nun möchte ich diese Merkmale in einer Abfrage zu einem Kunden zusammenfassen. Das Merkmal-Feld soll TRUE ergeben, sobald irgendein Standort dieses Merkmal hat.
Entsprechend: Wenn keiner der Standorte des Kunden ein Merkmal hat, soll FALSE zurückgegeben werden.
Dieses Problem ist wahrscheinlich relativ leicht lösbar, ich komme bloß nicht drauf. Vielen Dank für eure Unterstützung!
Beste Grüße,
Eixen
Re: Zusammenfassen von Datensätzen
Hi,
vielleicht so:
Gruß R
vielleicht so:
Code: Alles auswählen
Select "Kundennummer", "StandortNr", "StraßeNr", "PLZ", "Ort", CASEWHEN(("Merkmal1"=true) or ("Merkmal2" = true) or ("Merkmal3" = true), true, false) as "Merkmal" from "Tabelle1"Windows 11: AOO, LO Linux Mint: AOO, LO
Re: Zusammenfassen von Datensätzen
Danke für deine Antwort!
Wenn ich es richtig verstehe, dann gibt in deinem Beispiel die Abfrage ein [X] aus, wenn nur eines der Merkmale pro Standort zutrifft.
Ich meinte es wahrscheinlich anders herum, siehe Screenshot:
Dort werden drei Standorte abgefragt.
Das Ergebnis soll ein Datensatz des Kunden sein, der alle Merkmale der Standorte beinhaltet, also eine Zusammenfassung der Standorte.
Also sollte das Ergebnis aus den Datensätzen folgendes sein:
9999 Testkunde, Haken bei M1, M3, M6 und M7, die anderen bleiben bei NULL.
Ich suche gerade die Lösung über eine Gruppierung, weiß jedoch nicht, wie ich das Problem löse.
Beste Grüße, Eixen
Wenn ich es richtig verstehe, dann gibt in deinem Beispiel die Abfrage ein [X] aus, wenn nur eines der Merkmale pro Standort zutrifft.
Ich meinte es wahrscheinlich anders herum, siehe Screenshot:
Dort werden drei Standorte abgefragt.
Das Ergebnis soll ein Datensatz des Kunden sein, der alle Merkmale der Standorte beinhaltet, also eine Zusammenfassung der Standorte.
Also sollte das Ergebnis aus den Datensätzen folgendes sein:
9999 Testkunde, Haken bei M1, M3, M6 und M7, die anderen bleiben bei NULL.
Ich suche gerade die Lösung über eine Gruppierung, weiß jedoch nicht, wie ich das Problem löse.
Beste Grüße, Eixen
- Dateianhänge
-
- beispiel_abfrage.jpg (50.32 KiB) 3713 mal betrachtet
Re: Zusammenfassen von Datensätzen
Hi,
so sollte es funktionieren:
Gruß R
so sollte es funktionieren:
Code: Alles auswählen
SELECT "KundenNr", "Name", MAX("M1"), MAX("M2"), MAX("M3"), MAX("M4"), MAX("M5"), MAX("M6"), MAX("M7") FROM "Tabelle1" group by "KundenNr", "Name"Windows 11: AOO, LO Linux Mint: AOO, LO
Re: Zusammenfassen von Datensätzen
Ich habe das Problem nun über die SOME-Funktion gelöst, aber MAX funktioniert scheinbar exakt gleich.
Vielen Dank!
Allerdings bleibt noch eine Frage offen:
Ist es auch möglich, die Ortsnamen mehrerer Standorte in ein Feld schreiben zu lassen? Also eine Zusammenfassung der Text-Felder.
Beste Grüße,
Eixen
Vielen Dank!
Allerdings bleibt noch eine Frage offen:
Ist es auch möglich, die Ortsnamen mehrerer Standorte in ein Feld schreiben zu lassen? Also eine Zusammenfassung der Text-Felder.
Beste Grüße,
Eixen
Re: Zusammenfassen von Datensätzen
Hallo Eixen,
Du hast die Ortsnamen im gleichen Feld, aber in unterschiedlichen Datensätzen?
Die Zusammenfassung in Base geht mit der eingebauten HSQLDB nur beschränkt. Wenn Du z.B. die MariaDB/MySQL verwendest, dann heißt die Funktion dafür Group_CONCAT(). In der zukünftigen internen Firebird-Datenbank erreichst Du das mit der Funktion LIST(). Für die HSQLDB kannst Du nur eine Krücke bauen. Seht im Handbuch im Kapitel "Datenbankaufgaben → Gruppieren und Zusammenfassen" am Beispiel von Adressen, wo die Vornamen von Personen mit gleichem Nachnamen zusammengefasst in einem Feld ausgegeben werden.
Gruß
Robert
Du hast die Ortsnamen im gleichen Feld, aber in unterschiedlichen Datensätzen?
Die Zusammenfassung in Base geht mit der eingebauten HSQLDB nur beschränkt. Wenn Du z.B. die MariaDB/MySQL verwendest, dann heißt die Funktion dafür Group_CONCAT(). In der zukünftigen internen Firebird-Datenbank erreichst Du das mit der Funktion LIST(). Für die HSQLDB kannst Du nur eine Krücke bauen. Seht im Handbuch im Kapitel "Datenbankaufgaben → Gruppieren und Zusammenfassen" am Beispiel von Adressen, wo die Vornamen von Personen mit gleichem Nachnamen zusammengefasst in einem Feld ausgegeben werden.
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: Zusammenfassen von Datensätzen
Moin Robert und Rik,
vielen Dank für eure Unterstützung!
vielen Dank für eure Unterstützung!
An alle, die das LibreOffice-Forum gern nutzen:
Bitte beteiligen Sie sich mit 7 Euro pro Monat und helfen uns bei unserem Budget für das laufende.
Einfach per Kreditkarte oder PayPal. Als Dankeschön werden Sie im Forum als LO-SUPPORTER gekennzeichnet.
❤️ Vielen lieben Dank für Ihre Unterstützung ❤️