---
title: "Datenbankschema"
description: "Aufbau der Listenabfrage, Tabellen, Verknüpfungen und Beispiele für eigene SQL-Filter (WHERE-Klausel)."
topicId: "Datenbankschema"
contextId: 414
status: aktualisiert
version: "5.4"
---
<a id="hmpagebody_scroller" />

Im Modul **Liste** können Sie Beobachtungen mit einem eigenen SQL-Filter auswählen. MultiBaseCS führt dafür intern eine vollständige SQL-Abfrage mit allen nötigen Verknüpfungen (JOINs) aus. Sie geben nur die **Bedingung** ein, also den Teil hinter `WHERE`.

:::note
Geben Sie kein `SELECT`, kein `FROM`, keine JOINs und auch nicht das Wort `WHERE` ein. Ein Beispiel für eine vollständige Eingabe: `tblArten.Art_Deutsch = 'Weißstorch'`
:::

Einige Feldnamen gibt es in mehreren verknüpften Tabellen, zum Beispiel `Region` in `tblDaten` und `tblGeometrie`. Schreiben Sie deshalb immer den Tabellennamen vor das Feld (`tblDaten.Region`). Fehlt er bei einem mehrdeutigen Feld, meldet die Datenbank einen Fehler.

Auf dieser Seite:

1. [Interne Abfrage der Liste](#sec-sql)
2. [Übersicht der wichtigsten Tabellen](#sec-overview)
3. [Tabellenbeziehungen](#sec-relations)
4. [Felder der wichtigsten Tabellen](#sec-fields)
5. [Beispiele für SQL-Filter](#sec-examples)

Alle Felder der Tabellen `tblDaten`, `tblDatenZusatz`, `tblArten` und `tblGeometrie` finden Sie unter [Datenbankinformationen](/desktop/administration/datenbankinformationen).

<a id="sec-sql" />

## Interne Abfrage der Liste

Diese Abfrage führt MultiBaseCS aus (Spaltenliste gekürzt). Ihre Bedingung wird hinter `WHERE` eingesetzt. Die Tabellen `##T1_TEMPTABLE_DATEN` und `##T2_TEMPTABLE_ORTE` sind interne Hilfstabellen der laufenden Sitzung. Ihr Feld `Flag_Filter` kennzeichnet die Datensätze der aktuellen Filterauswahl.

```sql
SELECT TOP 100 /* ... Ergebnisspalten ... */
FROM tblDaten
  LEFT OUTER JOIN tblArten          ON tblDaten.ID_Art              = tblArten.ID_Art
  LEFT OUTER JOIN tblArtengruppen   ON tblArten.ID_Gruppe           = tblArtengruppen.ID_Gruppe
  LEFT OUTER JOIN tblArtenRLStand   ON tblArten.ID_Art              = tblArtenRLStand.ID_Art
  LEFT OUTER JOIN tblDatenZusatz    ON tblDaten.GUID_Daten          = tblDatenZusatz.GUID_Daten
  LEFT OUTER JOIN tblBeobachter     ON tblDaten.GUID_Beobachter     = tblBeobachter.GUID_Beobachter
  LEFT OUTER JOIN tblBeobachter tblBestimmer
                                    ON tblDaten.GUID_Bestimmer      = tblBestimmer.GUID_Beobachter
  LEFT OUTER JOIN tblGeometrie     ON tblDaten.GUID_Ort            = tblGeometrie.GUID_Ort
  LEFT OUTER JOIN tblHerkunft      ON tblDaten.GUID_Herkunft       = tblHerkunft.GUID_Herkunft
  LEFT OUTER JOIN tblAtlas         ON tblDaten.GUID_Atlas          = tblAtlas.GUID_Atlas
  LEFT OUTER JOIN tblSammlung      ON tblDaten.GUID_Sammlung       = tblSammlung.GUID_Sammlung
  LEFT OUTER JOIN tblEinheiten     ON tblDaten.ID_Einheit          = tblEinheiten.ID_Einheit
  LEFT OUTER JOIN tblVerhalten     ON tblDaten.ID_Verhalten        = tblVerhalten.ID_Verhalten
  LEFT OUTER JOIN tblReproduktion  ON tblDaten.ID_Reproduktion     = tblReproduktion.ID_Reproduktion
  LEFT OUTER JOIN tblNachweistyp   ON tblDaten.ID_Nachweistyp      = tblNachweistyp.ID_Nachweistyp
  LEFT OUTER JOIN tblQualitaet     ON tblDaten.ID_Qualitaet        = tblQualitaet.ID_Qualitaet
  LEFT OUTER JOIN tblHabitat       ON tblDaten.ID_Habitat          = tblHabitat.ID_Habitat
  LEFT OUTER JOIN tblKategorie     ON tblDaten.ID_Kategorie        = tblKategorie.ID_Kategorie
  LEFT OUTER JOIN tblDatenbankherkunft
                                    ON tblDaten.GUID_Datenbankherkunft = tblDatenbankherkunft.GUID_Datenbankherkunft
  LEFT OUTER JOIN tblAufnahme      ON tblDaten.GUID_Group          = tblAufnahme.GUID_Aufnahme
  LEFT OUTER JOIN tblRingnummerAlias
                                    ON tblDaten.GUID_Daten          = tblRingnummerAlias.GUID_Daten
                                   AND tblRingnummerAlias.ID_AliasTyp = 523
  LEFT OUTER JOIN ##T1_TEMPTABLE_DATEN
                                    ON tblDaten.GUID_Daten          = ##T1_TEMPTABLE_DATEN.GUID_Daten
  LEFT OUTER JOIN ##T2_TEMPTABLE_ORTE
                                    ON tblDaten.GUID_Ort            = ##T2_TEMPTABLE_ORTE.GUID_Ort
WHERE /* Hier wird Ihre Bedingung eingesetzt */
```

Die Abfrage ist in der Schreibweise von Microsoft SQL Server dargestellt. Unter Oracle und PostgreSQL ist der Aufbau gleich.

<a id="sec-overview" />

## Übersicht der wichtigsten Tabellen

| Tabelle | Inhalt | Wichtige Felder |
| --- | --- | --- |
| tblDaten | Beobachtungen (Haupttabelle) | Datum, Jahr, Monat, Anzahl\_Min, Anzahl\_Max, MTB, Region, xWGS84, yWGS84, Ringnummer, Flag\_Beringung |
| tblArten | Artenliste mit Namen und Schutzstatus | Art\_Deutsch, Art\_Wissenschaftlich, Art\_Kuerzel, FFH, BNatSchG, Euring |
| tblArtengruppen | Artengruppen | Gruppe, Gruppe\_wiss |
| tblBeobachter | Beobachter, Beringer und Bearbeiter | Beobachter, Vorname, Nachname, Institution, Code\_Beringer |
| tblGeometrie | Orte und Untersuchungsflächen | Ortsbezeichnung, Nummer, Region, Biotop, xWGS84, yWGS84, MTB |
| tblNachweistyp | Art des Nachweises | Nachweistyp, Kuerzel |
| tblVerhalten | Beobachtetes Verhalten | Verhalten, Kuerzel |
| tblReproduktion | Reproduktions- und Brutstatus | Reproduktion, Kuerzel |
| tblQualitaet | Qualitätsstufe | Qualitaet |
| tblHabitat | Habitattypen | Habitat |
| tblHerkunft | Datenherkunft | Herkunft, Kuerzel, Erfassungstyp |
| tblAtlas | Atlasprojekte und Kartierungen | Atlas, Zeitraum, Herausgeber |

<a id="sec-relations" />

## Tabellenbeziehungen

Alle Verknüpfungen sind vom Typ **LEFT OUTER JOIN** und bereits in der internen Abfrage enthalten. Die Felder der verknüpften Tabellen verwenden Sie deshalb direkt in Ihrer Bedingung, ohne Unterabfrage.

| Feld in tblDaten | Verknüpfte Tabelle / Feld | Verwendung in WHERE-Klausel |
| --- | --- | --- |
| ID\_Art | tblArten.ID\_Art | Artname, Schutzstatus, Kürzel filtern |
| tblArten.ID\_Gruppe | tblArtengruppen.ID\_Gruppe | Nach Artengruppe filtern (z. B. „Vögel") |
| GUID\_Beobachter | tblBeobachter.GUID\_Beobachter | Nach Melder, Institution filtern |
| GUID\_Bestimmer | tblBestimmer.GUID\_Beobachter | Nach Bestimmer filtern (Alias: tblBestimmer) |
| GUID\_Ort | tblGeometrie.GUID\_Ort | Nach Standortname, Region, MTB filtern |
| ID\_Nachweistyp | tblNachweistyp.ID\_Nachweistyp | Nach Nachweistyp-Text filtern |
| ID\_Verhalten | tblVerhalten.ID\_Verhalten | Nach Verhalten filtern |
| ID\_Reproduktion | tblReproduktion.ID\_Reproduktion | Nach Reproduktionsstatus filtern |
| ID\_Qualitaet | tblQualitaet.ID\_Qualitaet | Nach Qualitätsstufe filtern |
| ID\_Habitat | tblHabitat.ID\_Habitat | Nach Habitattyp filtern |
| ID\_Einheit | tblEinheiten.ID\_Einheit | Nach Zähleinheit filtern |
| ID\_Kategorie | tblKategorie.ID\_Kategorie | Nach Kategorie filtern (Tiere, Pflanzen …) |
| GUID\_Herkunft | tblHerkunft.GUID\_Herkunft | Nach Datenherkunft filtern |
| GUID\_Atlas | tblAtlas.GUID\_Atlas | Nach Atlasprojekt filtern |
| GUID\_Sammlung | tblSammlung.GUID\_Sammlung | Nach Sammlung filtern |
| GUID\_Datenbankherkunft | tblDatenbankherkunft.GUID\_Datenbankherkunft | Nach Datenbankherkunft filtern |
| GUID\_Daten | tblDatenZusatz.GUID\_Daten | Zusatzfelder (Geschlecht, Bearbeitungsstatus …) |
| GUID\_Daten | ##T1\_TEMPTABLE\_DATEN.GUID\_Daten | Flag\_Filter (aktive Filterauswahl Daten) |
| GUID\_Ort | ##T2\_TEMPTABLE\_ORTE.GUID\_Ort | Flag\_Filter (aktive Filterauswahl Orte) |

:::tip
Felder, deren Name mit `ID_` beginnt, sind nie leer. Der Wert `0` bedeutet „keine Angabe“. Beobachtungen ohne Habitatangabe finden Sie also mit `tblDaten.ID_Habitat = 0`, nicht mit `IS NULL`.
:::

<a id="sec-fields" />

## Felder der wichtigsten Tabellen

<a id="tbl-daten" />

### tblDaten: Beobachtungsdaten (Haupttabelle)

Enthält alle Beobachtungs- und Funddatensätze. Geben Sie Felder immer mit Tabellenpräfix an, also zum Beispiel `tblDaten.Datum`. Bei Feldern mit dem Hinweis ⚠ ist das Pflicht, weil es sie auch in einer anderen verknüpften Tabelle gibt.

| Feldname | Datentyp | Beschreibung |
| --- | --- | --- |
| `tblDaten.GUID_Daten` PK | uniqueidentifier | Eindeutiger Datensatz-Bezeichner |
| `tblDaten.ID_Daten` | int | Numerische ID (intern) |
| `tblDaten.Datum` | datetime | Beobachtungsdatum |
| `tblDaten.Jahr` | int | Beobachtungsjahr (redundant zu Datum, für schnelle Filterung) |
| `tblDaten.Monat` | int | Beobachtungsmonat (1–12) |
| `tblDaten.ID_Art` FK → tblArten | int | Beobachtete Art ⚠ auch in tblArten |
| `tblDaten.GUID_Beobachter` FK → tblBeobachter | uniqueidentifier | Meldende Person |
| `tblDaten.GUID_Ort` FK → tblGeometrie | uniqueidentifier | Beobachtungsstandort |
| `tblDaten.Anzahl` | varchar(255) | Anzahl als Text (z. B. „ca. 5“, „>10“) |
| `tblDaten.Anzahl_Min` | int | Minimalanzahl (numerisch, für Vergleiche geeignet) |
| `tblDaten.Anzahl_Max` | int | Maximalanzahl (numerisch) |
| `tblDaten.Ortsbezeichnung` | nvarchar(255) | Freitextbezeichnung des Fundortes ⚠ auch in tblGeometrie |
| `tblDaten.xWGS84` | decimal | Längengrad (WGS84) ⚠ auch in tblGeometrie |
| `tblDaten.yWGS84` | decimal | Breitengrad (WGS84) ⚠ auch in tblGeometrie |
| `tblDaten.MTB` | int | Messtischblatt-Nummer ⚠ auch in tblGeometrie |
| `tblDaten.MTBQ` | int | Messtischblatt mit Quadrant (z. B. 45251 für MTB 4525, Quadrant 1) ⚠ auch in tblGeometrie |
| `tblDaten.Raster` | varchar(10) | Rastercode (z. B. TK-Raster) ⚠ auch in tblGeometrie |
| `tblDaten.LAEACellCode` | int | LAEA-Rasterzellcode (10 km) ⚠ auch in tblGeometrie |
| `tblDaten.LAEARaster` | varchar(10) | LAEA-Rasterkürzel ⚠ auch in tblGeometrie |
| `tblDaten.LAEA1CellCode` | int | LAEA-Rasterzellcode (1 km) ⚠ auch in tblGeometrie |
| `tblDaten.Region` | nvarchar(255) | Gebietsbezeichnung oder Verwaltungseinheit ⚠ auch in tblGeometrie |
| `tblDaten.Biotop` | varchar(255) | Biotopbeschreibung (Freitext) ⚠ auch in tblGeometrie |
| `tblDaten.Bemerkung` | varchar(max) | Freie Bemerkung zum Datensatz ⚠ auch in tblGeometrie |
| `tblDaten.ID_Nachweistyp` FK → tblNachweistyp | int | Art des Nachweises |
| `tblDaten.ID_Verhalten` FK → tblVerhalten | int | Beobachtetes Verhalten |
| `tblDaten.ID_Reproduktion` FK → tblReproduktion | int | Reproduktionsstatus |
| `tblDaten.ID_Qualitaet` FK → tblQualitaet | int | Qualitätsstufe der Meldung ⚠ auch in tblGeometrie |
| `tblDaten.ID_Habitat` FK → tblHabitat | int | Habitattyp |
| `tblDaten.ID_Alter` FK → tblAlter | int | Altersklasse des Individuums |
| `tblDaten.ID_Einheit` FK → tblEinheiten | int | Zähleinheit |
| `tblDaten.ID_Kategorie` FK → tblKategorie | int | Übergeordnete Kategorie ⚠ auch in tblArten |
| `tblDaten.Ringnummer` | varchar(255) | Ringnummer bei Beringungsdaten |
| `tblDaten.Ringserie` | varchar(5) | Ringserie |
| `tblDaten.Flag_Export` | bit | 1 = für Export markiert |
| `tblDaten.Flag_Filter` | bit | Systemfeld. Für die aktuelle Filterauswahl nutzen Sie `##T1_TEMPTABLE_DATEN.Flag_Filter`. |
| `tblDaten.Flag_Basisort` | bit | 1 = Datensatz am Basisort |
| `tblDaten.Flag_Beringung` | bit | 1 = Beringungsdatensatz |
| `tblDaten.Flag_Aggregiert` | bit | 1 = aggregierter (zusammengefasster) Datensatz |
| `tblDaten.Date_Create` | datetime | Zeitstempel der Ersterfassung ⚠ auch in tblGeometrie |
| `tblDaten.Date_Changed` | datetime | Zeitstempel der letzten Änderung ⚠ auch in tblGeometrie |
| `tblDaten.GUID_User` FK → tblUser | uniqueidentifier | Erfassender Benutzer ⚠ auch in tblGeometrie |
| `tblDaten.GUID_Atlas` FK → tblAtlas | uniqueidentifier | Zugeordnetes Atlasprojekt |
| `tblDaten.GUID_Herkunft` FK → tblHerkunft | uniqueidentifier | Datenherkunft oder Quelle |

<a id="tbl-arten" />

### tblArten: Artenliste

Bereits per JOIN verknüpft. Felder mit Präfix `tblArten.` direkt in der WHERE-Klausel verwendbar.

| Feldname | Datentyp | Beschreibung |
| --- | --- | --- |
| `tblArten.ID_Art` PK | int | Numerische Art-ID |
| `tblArten.Art_Deutsch` | varchar(255) | Deutscher Artname |
| `tblArten.Art_Wissenschaftlich` | varchar(255) | Wissenschaftlicher Artname (Binomen) |
| `tblArten.Art_Kuerzel` | varchar(255) | Kürzel des Artnamens |
| `tblArten.Art_English` | varchar(255) | Englischer Artname |
| `tblArten.ID_Gruppe` FK → tblArtengruppen | int | Artengruppe |
| `tblArten.ID_Untergruppe` | int | Untergruppe innerhalb der Artengruppe |
| `tblArten.ID_Kategorie` | int | Übergeordnete Kategorie (Tiere, Pflanzen …) |
| `tblArten.FFH` | varchar(255) | FFH-Anhänge und EU-Vogelschutzrichtlinie, mehrere Angaben in einem Wert (z. B. „FFH-II, FFH-IV“, „VRL-Anh.I“); leer, wenn nicht relevant |
| `tblArten.BNatSchG` | varchar(10) | Schutzstatus nach Bundesnaturschutzgesetz: „BG“ = besonders geschützt, „SG“ = streng geschützt |
| `tblArten.Euring` | varchar(255) | EURING-Code (europäische Vogelarten) |

<a id="tbl-artengruppen" />

### tblArtengruppen: Artengruppen

Bereits per JOIN verknüpft (über tblArten). Felder mit Präfix `tblArtengruppen.` verwendbar.

| Feldname | Datentyp | Beschreibung |
| --- | --- | --- |
| `tblArtengruppen.ID_Gruppe` PK | int | ID der Artengruppe |
| `tblArtengruppen.Gruppe` | varchar(255) | Bezeichnung auf Deutsch (z. B. „Vögel“, „Fledermäuse“, „Käfer (Coleoptera)“) |
| `tblArtengruppen.Gruppe_wiss` | varchar(255) | Wissenschaftliche Bezeichnung |

<a id="tbl-beobachter" />

### tblBeobachter: Personen

Bereits per JOIN verknüpft. Felder mit Präfix `tblBeobachter.` verwendbar. Bestimmer sind als `tblBestimmer.` verfügbar.

| Feldname | Datentyp | Beschreibung |
| --- | --- | --- |
| `tblBeobachter.GUID_Beobachter` PK | uniqueidentifier | Eindeutiger Personen-Bezeichner |
| `tblBeobachter.Beobachter` | nvarchar(255) | Vollständiger Name (Anzeigename) |
| `tblBeobachter.Vorname` | nvarchar(255) | Vorname |
| `tblBeobachter.Nachname` | nvarchar(255) | Nachname |
| `tblBeobachter.Institution` | nvarchar(255) | Organisation, Verein oder Behörde |
| `tblBeobachter.Code_Beringer` | varchar(4) | Beringercode (4-stellig) |
| `tblBestimmer.Beobachter` | nvarchar(255) | Name des Bestimmers (eigener Alias) |

<a id="tbl-geometrie" />

### tblGeometrie: Orte und Gebiete

Bereits per JOIN verknüpft. Felder mit Präfix `tblGeometrie.` verwendbar.

| Feldname | Datentyp | Beschreibung |
| --- | --- | --- |
| `tblGeometrie.GUID_Ort` PK | uniqueidentifier | Eindeutiger Standort-Bezeichner |
| `tblGeometrie.Ortsbezeichnung` | nvarchar(255) | Bezeichnung des Orts |
| `tblGeometrie.Nummer` | varchar(255) | Standortnummer (z. B. Kastennummer) |
| `tblGeometrie.Region` | nvarchar(255) | Gebiets- oder Verwaltungseinheit des Standorts |
| `tblGeometrie.Biotop` | varchar(255) | Biotopbeschreibung des Standorts |
| `tblGeometrie.xWGS84` | decimal | Längengrad des Standorts (WGS84) |
| `tblGeometrie.yWGS84` | decimal | Breitengrad des Standorts (WGS84) |
| `tblGeometrie.MTB` | int | Messtischblatt-Nummer des Standorts |

<a id="tbl-referenz" />

### Weitere verknüpfte Referenztabellen

Diese Tabellen sind ebenfalls per JOIN verfügbar. Das Textfeld der Bezeichnung ist jeweils direkt in der WHERE-Klausel verwendbar.

| Tabelle.Feld | Datentyp | Beschreibung |
| --- | --- | --- |
| `tblNachweistyp.Nachweistyp` | varchar(255) | Bezeichnung des Nachweistyps (Sicht, Ruf, Totfund …) |
| `tblNachweistyp.Kuerzel` | varchar(255) | Kürzel des Nachweistyps |
| `tblVerhalten.Verhalten` | varchar(255) | Verhaltensbezeichnung (rastend, singend, jagend …) |
| `tblVerhalten.Kuerzel` | varchar(255) | Kürzel des Verhaltens |
| `tblReproduktion.Reproduktion` | varchar(255) | Reproduktionsstatus (Brutvogel, Durchzügler …) |
| `tblReproduktion.Kuerzel` | varchar(255) | Kürzel des Reproduktionsstatus |
| `tblQualitaet.Qualitaet` | varchar(255) | Qualitätsstufe der Meldung |
| `tblHabitat.Habitat` | varchar(255) | Habitattyp-Bezeichnung |
| `tblEinheiten.Einheit` | varchar(255) | Zähleinheit (Individuen, Paare …) |
| `tblKategorie.Kategorie` | varchar(255) | Kategorie-Bezeichnung (Tiere, Pflanzen …) |
| `tblHerkunft.Herkunft` | varchar(255) | Bezeichnung der Datenherkunft |
| `tblAtlas.Atlas` | varchar(255) | Name des Atlasprojekts |
| `tblSammlung.Sammlung` | varchar(255) | Bezeichnung der Sammlung |
| `tblDatenbankherkunft.Datenbankherkunft` | varchar(255) | Bezeichnung der Datenbankherkunft |

<a id="sec-examples" />

## Beispiele für SQL-Filter

Die folgenden Beispiele geben Sie genau so in das Textfeld des SQL-Filters ein. Datumsangaben sind in der Schreibweise für Microsoft SQL Server notiert (`'JJJJMMTT'`). Unter Oracle und PostgreSQL schreiben Sie stattdessen zum Beispiel `DATE '2023-05-01'`.

:::tip
Für Texte aus Auswahllisten (Nachweistyp, Verhalten, Reproduktion, Artengruppe) brauchen Sie den genauen Wortlaut, wie er im Modul **Stammdaten** steht. Im Zweifel suchen Sie mit `LIKE '%Teiltext%'`.
:::

### Datum und Zeitraum

| Aufgabe | Bedingung |
| --- | --- |
| Alle Beobachtungen aus dem Jahr 2023 | `tblDaten.Jahr = 2023` |
| Beobachtungen von Mai bis Juli 2023 | `tblDaten.Datum BETWEEN '20230501' AND '20230731'` |
| Alle Dezember-Beobachtungen, gleich aus welchem Jahr | `tblDaten.Monat = 12` |
| Frühjahrsbeobachtungen (März bis Mai) aus allen Jahren | `tblDaten.Monat IN (3, 4, 5)` |
| Seit dem 1. Januar 2024 angelegt oder geändert | `tblDaten.Date_Create >= '20240101' OR tblDaten.Date_Changed >= '20240101'` |

### Arten und Artengruppen

| Aufgabe | Bedingung |
| --- | --- |
| Alle Beobachtungen des Weißstorchs | `tblArten.Art_Deutsch = 'Weißstorch'` |
| Weißstorch oder Graureiher | `tblArten.Art_Deutsch IN ('Weißstorch', 'Graureiher')` |
| Alle Arten der Gattung Ciconia | `tblArten.Art_Wissenschaftlich LIKE 'Ciconia%'` |
| Alle Fledermaus-Beobachtungen | `tblArtengruppen.Gruppe = 'Fledermäuse'` |
| Arten des FFH-Anhangs IV | `tblArten.FFH LIKE '%FFH-IV%'` |
| Streng geschützte Arten nach Bundesnaturschutzgesetz | `tblArten.BNatSchG = 'SG'` |

### Anzahl

| Aufgabe | Bedingung |
| --- | --- |
| Mindestens 10 Individuen | `tblDaten.Anzahl_Min >= 10` |
| 5 bis 50 Individuen | `tblDaten.Anzahl_Min BETWEEN 5 AND 50` |

Verwenden Sie für Zahlenvergleiche die Felder `Anzahl_Min` und `Anzahl_Max`. Das Feld `Anzahl` enthält die Angabe als Text (z. B. „ca. 20“) und eignet sich nicht für Vergleiche.

### Ort und Koordinaten

| Aufgabe | Bedingung |
| --- | --- |
| Region enthält das Wort „Rhein“ | `tblDaten.Region LIKE '%Rhein%'` |
| Messtischblatt 6214 | `tblDaten.MTB = 6214` |
| Mehrere Messtischblätter | `tblDaten.MTB IN (6214, 6215, 6314)` |
| Nur Beobachtungen mit Koordinaten | `tblDaten.xWGS84 IS NOT NULL AND tblDaten.yWGS84 IS NOT NULL` |
| Orte, deren Bezeichnung „Wald“ enthält | `tblGeometrie.Ortsbezeichnung LIKE '%Wald%'` |

### Beobachter

| Aufgabe | Bedingung |
| --- | --- |
| Alle Beobachtungen einer bestimmten Person | `tblBeobachter.Nachname = 'Mustermann' AND tblBeobachter.Vorname = 'Max'` |
| Alle Beobachtungen der Mitglieder einer Organisation | `tblBeobachter.Institution LIKE '%Naturschutzbund%'` |
| Alle Beobachtungen, die eine bestimmte Person bestimmt hat | `tblBestimmer.Beobachter LIKE '%Mustermann%'` |

### Nachweistyp, Verhalten, Reproduktion

| Aufgabe | Bedingung |
| --- | --- |
| Nur Totfunde | `tblNachweistyp.Nachweistyp LIKE 'Totfund%'` |
| Nur balzende Tiere | `tblVerhalten.Verhalten = 'balzend'` |
| Nur sichere Brutnachweise (Brutzeitcodes C) | `tblReproduktion.Reproduktion LIKE 'C%'` |

### Beringungsdaten

| Aufgabe | Bedingung |
| --- | --- |
| Nur Beringungsdatensätze | `tblDaten.Flag_Beringung = 1` |
| Alle Meldungen zu einer bestimmten Ringnummer | `tblDaten.Ringnummer = 'A12345'` |
| Alle Beringungen eines bestimmten Beringers | `tblBeobachter.Code_Beringer = 'AB12' AND tblDaten.Flag_Beringung = 1` |

### Kombinierte Bedingungen

Mehrere Bedingungen verbinden Sie mit `AND` und `OR`. Setzen Sie Klammern, wenn Sie beides mischen.

Alle Weißstorch-Beobachtungen ab 2020 mit mindestens 5 Individuen:

```sql
tblArten.Art_Deutsch = 'Weißstorch'
AND tblDaten.Jahr >= 2020
AND tblDaten.Anzahl_Min >= 5
```

Alle Fledermaus-Beobachtungen mit Koordinaten seit 2020:

```sql
tblArtengruppen.Gruppe = 'Fledermäuse'
AND tblDaten.Jahr >= 2020
AND tblDaten.xWGS84 IS NOT NULL
```

Sichere Brutnachweise von Arten des FFH-Anhangs IV in einer Region seit 2015:

```sql
tblArten.FFH LIKE '%FFH-IV%'
AND tblReproduktion.Reproduktion LIKE 'C%'
AND tblDaten.Region LIKE '%Rhein%'
AND tblDaten.Jahr >= 2015
```

Alle Beobachtungen eines bestimmten Atlasprojekts:

```sql
tblAtlas.Atlas LIKE '%Brutvogelatlas%'
```

### Sortierung

Am Ende der Bedingung dürfen Sie eine Sortierung anhängen, zum Beispiel nach dem Erstellungsdatum:

```sql
tblDaten.Jahr = 2023 ORDER BY tblDaten.Date_Create
```
