Zum Inhalt springen
MultiBaseCS Hilfe
Esc
↑↓navigieren↵öffnen⌘Jvorschau
Auf dieser Seite

Gilt für Professional, Server

Diese Funktion ist in Ihrer Edition nicht enthalten. Sie steht in Professional, Server zur Verfügung.

Benutzerdefinierter SQL-Filter

Mit dem Benutzerdefinierten SQL-Filter filtern Sie Ihren Datenbestand mit eigenen Bedingungen in SQL. So sind auch sehr komplexe Abfragen möglich. Dafür benötigen Sie Grundkenntnisse der SQL-Syntax.

Siehe auch Syntaxhilfe und Beispiele für SQL-Abfragen.

SQL-Filter einblenden

Klicken Sie im Modul Liste im Menüband auf Liste › Filteransicht › SQL-Filter. Unterhalb der Liste erscheint der Bereich Benutzerdefinierter SQL-Filter mit dem Eingabefeld und den Schaltflächen Prüfen, Ausführen, Speichern und Laden.

Bereich Benutzerdefinierter SQL-Filter mit einem Datumsbereich

Mit dem SQL-Filter arbeiten

  1. Geben Sie die Bedingung in das Eingabefeld ein, zum Beispiel alle Beobachtungen zwischen dem 01.01.2025 und dem 31.03.2025:

    WHERE Datum >= '01.01.2025' AND Datum <= '31.03.2025'

    oder

    WHERE Datum BETWEEN '01.01.2025' AND '31.03.2025'
  2. Klicken Sie auf Prüfen, um die Syntax prüfen zu lassen. Ist sie fehlerhaft, zeigt MultiBaseCS eine Fehlermeldung, die Ihnen hilft, den Fehler zu finden.

  3. Klicken Sie auf Ausführen oder drücken Sie die Eingabetaste. Einen Zeilenumbruch im Eingabefeld erzeugen Sie mit Umschalt+Eingabe.

Die Liste zeigt nun nur noch die passenden Beobachtungen. Die Statusleiste weist darauf hin, dass ein Filter aktiv ist.

Sie können die Bedingung beliebig erweitern. Alle Beobachtungen im selben Zeitraum, deren Art der Biber ist:

WHERE (Datum BETWEEN '01.01.2025' AND '31.03.2025') AND Art_deutsch LIKE 'Biber'

Alle Beobachtungen aus diesem Zeitraum oder alle Beobachtungen des Bibers:

WHERE (Datum BETWEEN '01.01.2025' AND '31.03.2025') OR Art_deutsch LIKE 'Biber'

Menü des SQL-Filters

Über die Menüschaltfläche rechts im Kopf des Bereichs Benutzerdefinierter SQL-Filter erreichen Sie weitere Befehle:

Menü des SQL-Filters

Befehl Wirkung
Ermittle Anzahl Zählt die Beobachtungen, die der aktive Filter liefert.
SQL-Statement anzeigen Zeigt die vollständige SQL-Anweisung, die zuletzt ausgeführt wurde.
Automatische Syntaxkorrektur Schaltet die automatische Syntaxkorrektur ein oder aus (siehe unten).
Einfache Syntaxhilfe verwenden Schaltet zwischen einfacher und komplexer Syntaxhilfe um.
aktuellen Filter anzeigen Zeigt die Bedingung des aktiven benutzerdefinierten Filters in einem eigenen Fenster.
Filter löschen Setzt das Eingabefeld auf WHERE zurück.
Filter entfernen Hebt den Filter auf und zeigt wieder alle Beobachtungen.
Prompt für KI erstellen Erstellt aus Ihrer Beschreibung einen Prompt für eine KI wie ChatGPT (siehe unten).
SQL-Statement suchen, SQL-Statement speichern, SQL-Statements bearbeiten Gespeicherte SQL-Statements verwalten (siehe unten).
Schriftgröße anpassen Stellt die Schrift im Eingabefeld auf Klein, Mittel oder Groß.

Hinweise zur SQL-Syntax

Eine Bedingung im SQL-Filter ist so aufgebaut:

  • Sie beginnt mit dem Schlüsselwort WHERE (Suche alle Beobachtungen, bei denen …).
  • Danach folgen eine oder mehrere Bedingungen.
  • Mehrere Bedingungen verknüpfen Sie mit AND (und) oder OR (oder).
  • Verschachtelte Bedingungen gliedern Sie mit Klammern.
WHERE Bedingung
WHERE Bedingung1 AND Bedingung2
WHERE Bedingung1 OR Bedingung2
WHERE (Bedingung1 OR Bedingung2) AND Bedingung3

Achten Sie bei der Kombination von AND und OR auf die Klammern. Ohne Klammern wertet die Datenbank zuerst alle AND-Verknüpfungen aus und erst danach die OR-Verknüpfungen.

Eine Bedingung besteht aus einem Feldnamen (Art_deutsch), einem Operator (=) und einem Wert ('Biber'):

Art_deutsch = 'Biber'

Folgende Operatoren stehen zur Verfügung:

Operator Bedeutung
= gleich
<> ungleich
< kleiner
<= kleiner oder gleich
> größer
>= größer oder gleich
LIKE Textvergleich, auch mit Platzhalterzeichen

Verwenden Sie Platzhalterzeichen, müssen Sie LIKE als Operator verwenden. Mit = liefert die Suche sonst kein Ergebnis.

Werte richtig angeben

Wie Sie einen Wert schreiben, hängt vom Datentyp des Feldes ab.

Zahlenfelder: Geben Sie den Wert direkt an.

WHERE ID_Art = 12345
WHERE MTB = 4642

Textfelder: Setzen Sie den Wert in einfache Anführungszeichen (Umschalt+#).

WHERE Art_deutsch = 'Biber'
WHERE Art_deutsch LIKE 'Biber*'

Alle Orte von A bis F:

WHERE Ort BETWEEN 'A*' AND 'F*'

Ja/Nein-Felder: Auf Microsoft SQL Server und Oracle steht 1 für Ja und 0 für Nein.

WHERE Flag_Export = 1

Platzhalterzeichen

Mit Platzhalterzeichen (Wildcards) suchen Sie nach Texten, von denen Sie nur einen Teil kennen, etwa den Anfang, das Ende oder ein Mittelstück.

Der Stern (*) steht für eine beliebige Zeichenfolge:

  • Flussb* findet Flussbarbe und Flussbarsch.
  • *frosch* findet alle Frösche, aber keine Kröten.
WHERE Art_deutsch LIKE 'Flussb*'
WHERE Art_deutsch LIKE '*frosch*' AND Kategorie LIKE 'Amphibien*'

Automatische Syntaxkorrektur

Die automatische Syntaxkorrektur ergänzt unter anderem fehlende Tabellenangaben und wandelt den Stern in das passende Platzhalterzeichen um. Sie schalten sie im Menü des SQL-Filters ein oder aus. Ist sie aktiv, steht das im Kopf des Bereichs.

Filterergebnis sortieren

Sie können das Ergebnis mit einem Klick auf einen Spaltenkopf sortieren. Liefert der Filter mehr Treffer, als die Liste anzeigt, geben Sie die Sortierung besser direkt nach der Bedingung an:

WHERE Art_deutsch LIKE 'Biber' ORDER BY Ortsbezeichnung

Mit ASC sortieren Sie aufsteigend, mit DESC absteigend:

WHERE Art_deutsch LIKE 'Biber' ORDER BY Ortsbezeichnung ASC
WHERE Art_deutsch LIKE 'Biber' ORDER BY Ortsbezeichnung DESC

Felder vom Datentyp text, ntext und image lassen sich nicht direkt sortieren. Fast alle Bemerkungsfelder in MultiBaseCS sind vom Typ text. Wandeln Sie den Inhalt zum Sortieren deshalb in eine Zeichenfolge um:

WHERE Bemerkung LIKE 'in Trupp%' ORDER BY CAST(Bemerkung AS VARCHAR(4000))

Weitere Beispiele finden Sie unter Beispiele für Sortierungen.

Besonderheiten bei Oracle-Datenbanken

Oracle unterscheidet bei Textvergleichen zwischen Groß- und Kleinschreibung. Wandeln Sie deshalb Suchfeld und Suchbegriff in Groß- oder Kleinbuchstaben um:

UPPER(tblArten.Art_Deutsch) LIKE UPPER('Biber')

Besonderheiten bei Datumsfeldern

Das Feld Datum enthält neben dem Datum auch die Uhrzeit. Deshalb ist 15.10.2019 10:30:00 größer als 15.10.2019 08:15:00, und Beobachtungen lassen sich nach der Uhrzeit sortieren.

Eine Abfrage mit Datum = '15.10.2019' findet nur Datensätze mit dem Wert 15.10.2019 00:00:00. Datensätze vom selben Tag mit Uhrzeit sind größer und werden nicht gefunden. Wenn Sie alle Datensätze eines Tages suchen, schließen Sie die Uhrzeit beim Vergleich aus.

Datum ohne Uhrzeit abfragen

Bei SQL Server:

CONVERT(DATE, tblDaten.Datum) = '15.10.2019'

oder

(tblDaten.Datum >= '15.10.2019' AND tblDaten.Datum < '16.10.2019')

Bei Oracle und PostgreSQL:

TO_CHAR(tblDaten.Datum, 'DD.MM.YYYY') = '15.10.2019'

Datum mit Uhrzeit abfragen

Bei SQL Server:

CONVERT(SMALLDATETIME, tblDaten.Datum) = '15.10.2019 10:30'

Bei Oracle und PostgreSQL:

TO_CHAR(tblDaten.Datum, 'DD.MM.YYYY HH24:MI') = '15.10.2019 10:30'

SQL-Statements speichern und wiederverwenden

Aufwendige SQL-Statements müssen Sie nicht jedes Mal neu schreiben. Speichern Sie sie und laden Sie sie bei Bedarf wieder.

SQL-Statement speichern

  1. Klicken Sie im Bereich Benutzerdefinierter SQL-Filter auf Speichern.

    Dialog Benutzerdefiniertes SQL-Statement speichern

  2. Geben Sie im Dialog Benutzerdefiniertes SQL-Statement speichern eine treffende Bezeichnung und eine Bemerkung ein.

  3. Klicken Sie auf Übernehmen.

SQL-Statement laden

  1. Klicken Sie im Bereich Benutzerdefinierter SQL-Filter auf Laden. Der Dialog SQL-Statement laden öffnet sich.

    Dialog SQL-Statement laden mit Suchbegriff

  2. Schränken Sie die Liste bei Bedarf über Suchbegriff und Suchfeld ein.

  3. Wählen Sie unter SQL-Statements, ob eigene, offizielle oder alle SQL-Statements angezeigt werden. Sind Sie im Umgang mit SQL unsicher, verwenden Sie nur offizielle SQL-Statements. Diese hat in der Regel der Datenbankadministrator geprüft und freigegeben.

  4. Mit SQL-Statement an bestehendes anfügen ergänzen Sie den Inhalt des Eingabefeldes, statt ihn zu ersetzen.

  5. Doppelklicken Sie auf den gewünschten Eintrag oder klicken Sie auf Übernehmen. Anschließend führen Sie das SQL-Statement aus.

Prompt für KI erstellen

Wenn Sie kein SQL schreiben möchten, kann Ihnen eine KI wie ChatGPT, Claude, Copilot oder Gemini die Bedingung formulieren.

  1. Wählen Sie im Menü des SQL-Filters Prompt für KI erstellen.
  2. Beschreiben Sie im Dialog Prompt-Eingabe in eigenen Worten, welche Beobachtungen Sie suchen.
  3. Klicken Sie auf Prompt in Zwischenablage kopieren.
  4. Fügen Sie den Prompt in die KI Ihrer Wahl ein. Die Antwort enthält einen Hinweissatz und die SQL-Bedingung in einem Codeblock.
  5. Kopieren Sie die SQL-Bedingung in das Eingabefeld des SQL-Filters, prüfen Sie sie mit Prüfen und führen Sie sie aus.

Syntaxhilfe

Die Auswahlliste Syntaxhilfe im Bereich Benutzerdefinierter Filter bietet fertige Bausteine für häufige Abfragekriterien. Siehe Syntaxhilfe.

Zuletzt aktualisiert am