🙏 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. 🤗
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) 3246 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 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.