#import "@preview/wrap-it:0.1.1": * #pagebreak() == Query Builder & Query Store Queries sind Abfragen an die Mitgliederdaten, die von den Nutzern selbst definiert und in anderen Modulen verwendet werden können. #figure( image("../../images/query-visual-builder.png", width: 100%), ) Queries können entweder visuell zusammengebaut oder mit SQL geschrieben werden. Dabei muss beachtet werden, dass mit diesen Queries keine Daten verändert werden können. #figure( image("../../images/query-builder-result.png", width: 100%), ) Die *Ausgabe* beinhaltet dann die ausgewählten Felder einer Tabelle, wobei `*` bedeutet, dass alle Felder angefragt werden sollen. Weiterhin zeigt die Ausgabe an, wie viele Treffer gefunden wurden. Daten können über *JOINs* verbunden werden, wobei diese INNER_JOINs darstellen. Dadurch werden nur Daten ausgegeben, zu denen auch welche in der JOIN-Tabelle bestehen. Eine Tabelle kann pro Ebene nur einmal in einem JOIN verwendet werden. Die *Sortierung* erfolgt global. Angegebene Sortierungen können auch umsortiert werden. #wrap-content( figure( image("../../images/query-builder-bar.png", width: 6.5cm), ), )[ Die Symbole der Leiste des Builders ermöglichen die Ausführung einer Abfrage, aber auch den Export oder die Speicherung einer Abfrage. \ \ Der Export ermöglicht das Speichern der Abfrageergebnisse in einer CSV-Datei. Weiterhin können entweder die Abfrageergebnisse geleert oder die Abfrage und dessen Ergebnisse zurückgesetzt werden. Auch kann eine ausgewählte Abfrage überschrieben werden. ] Die Queries können gespeichert werden, damit diese dann zum Beispiel im Newsletter (@newsletter) verwendet werden können. \ \ Typische Anwendungsfälle für die Abfragen wären zum Beispiel Mitglieder unter bzw. über 18 Jahre. Dadurch können die Anzahl ausgegeben oder Statistiken erstellt werden. \ \ *Hinweis:* Der Query-Builder beinhaltet 2 Key-Words, welche innerhalb des SQL-Editors verwendet werden können und einen gesamten Query ersetzen: - `member`: Ausgabe aller Mitglieder - `memberByRunningMembership`: Ausgabe aller Mitglieder mit aktuell laufendem Mitgliedschafts-Eintrag