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.

Beispiele für SQL-Abfragen

Die folgenden Bausteine können Sie im Benutzerdefinierten SQL-Filter verwenden. Setzen Sie WHERE davor und verknüpfen Sie mehrere Bausteine mit AND oder OR. Ersetzen Sie die Beispielwerte durch Ihre eigenen Werte.

Wo nicht anders angegeben, sind die Beispiele für Microsoft SQL Server geschrieben. Bei Oracle beachten Sie die Hinweise zur Groß- und Kleinschreibung unter Benutzerdefinierter SQL-Filter.

Syntax für einzelne Abfragefelder

Arten und Schutzstatus

Abfrage SQL-Syntax Bemerkung
Artenbezeichnung (deutsch) tblArten.Art_deutsch LIKE 'Feldhamster' Auch mit Platzhalterzeichen, zum Beispiel 'Feld*'
Artenbezeichnung (wissenschaftlich) tblArten.Art_wissenschaftlich LIKE 'Nyctalus noctula' Auch mit Platzhalterzeichen, zum Beispiel 'Nyctalus *'
Artenknoten in der Baumstruktur der Artenreferenzliste tblArten.SystemCode LIKE (SELECT tblArten.SystemCode + '%' FROM tblArten WHERE tblArten.Art_Deutsch LIKE 'Phengaris') Findet die Art und alle untergeordneten Taxa. Phengaris ist im Beispiel der deutsche Name des Artenknotens. Sie können auch nach dem wissenschaftlichen Namen fragen (Art_wissenschaftlich).
Rote Liste Sachsen tblArten.RL20012 IN ('1', '2', '3', 'G') RL für Rote Liste, gefolgt von der Bundeslandnummer (20016 = Deutschland). Siehe auch Referenzlisten/ Bundeslandnummern sowie Referenzlisten/ Rote-Liste-Status.
Rote Liste Deutschland tblArten.RL20016 IN ('1', '2') RL für Rote Liste, gefolgt von der Bundeslandnummer (20016 = Deutschland). Siehe auch Referenzlisten/ Bundeslandnummern sowie Referenzlisten/ Rote-Liste-Status.
Natura 2000 (FFH-Status) tblArten.FFH <> '' Alle Beobachtungen von Arten mit einem Eintrag im Feld Natura 2000
Natura 2000 (FFH-Status) tblArten.FFH LIKE '%FFH-II%' Alle Beobachtungen von Arten mit dem Natura-2000-Status FFH, Anhang II
Natura 2000 (FFH-Status) (tblArten.FFH LIKE '%FFH-II%' OR tblArten.FFH LIKE '%FFH-V%') Entweder FFH-II oder FFH-V
Bundesnaturschutzgesetz (BNatSchG) tblArten.BNatSchG IN ('SG', 'BG') SG = streng geschützt, BG = besonders geschützt. Sie können auch nur einen der beiden Werte abfragen.

Datum und Zeitraum

Abfrage SQL-Syntax Bemerkung
Datum (Microsoft SQL Server) tblDaten.Datum > '31.12.2014' Auch mit anderen Operatoren, zum Beispiel tblDaten.Datum >= '01.01.2015'
Datum (Microsoft SQL Server) tblDaten.Datum > DATEFROMPARTS(2014, 12, 31) Mit Angabe von Jahr, Monat, Tag
Datum (Microsoft SQL Server) CAST(tblDaten.Datum AS DATE) = CONVERT(DATETIME, '2021-05-09', 102) CAST wandelt das Datum in ein Datum ohne Uhrzeit um. So finden Sie alle Beobachtungen eines Tages, auch wenn eine Uhrzeit erfasst ist. Format des Datums: JJJJ-MM-TT
Datum (Oracle) tblDaten.Datum = TO_DATE('31.12.2014', 'dd.mm.yyyy') Bei Oracle wandeln Sie den Text zuerst in ein Datum um.
Datumsbereich tblDaten.Datum BETWEEN '01.01.2015' AND '31.03.2015' Alternative Schreibweise: tblDaten.Datum >= '01.01.2012' AND tblDaten.Datum <= '31.03.2012'
Monat tblDaten.Monat = 3 Auch mit anderen Operatoren, zum Beispiel tblDaten.Monat >= 3 AND tblDaten.Monat <= 5
Jahr tblDaten.Jahr = 2015 Auch mit anderen Operatoren, zum Beispiel tblDaten.Jahr > 2009

Beobachter und Herkunft

Abfrage SQL-Syntax Bemerkung
Beobachter tblBeobachter.Beobachter LIKE 'Mustermann, Max' Auch mit Platzhalterzeichen, zum Beispiel 'Mustermann*'
Beobachter (Oracle) UPPER(tblBeobachter.Beobachter) LIKE UPPER('Mustermann, Max') Bei Oracle wandeln Sie Abfragefeld und Suchbegriff in Groß- oder Kleinbuchstaben um.
Herkunft tblHerkunft.Herkunft LIKE 'Projekt XYZ'

Weitere Angaben zur Beobachtung

Abfrage SQL-Syntax Bemerkung
Aktenzeichen tblDatenZusatz.Aktenzeichen LIKE 'B 132' Auch mit Platzhalterzeichen, zum Beispiel 'B*'
Alter tblAlter.Altersdefinition LIKE 'adult' Auch mit Platzhalterzeichen, zum Beispiel 'adult*'
Benachrichtigt tblDatenZusatz.Flag_Benachrichtigt = 1 1 = benachrichtigt, 0 = nicht benachrichtigt bzw. nicht eingetragen
Beobachtungen mit Änderungsschutz tblDaten.GUID_Daten IN (SELECT GUID_Item FROM tblLockStatus WHERE ID_Entity = 1 AND ID_LockType > 0)
Beobachtungen ohne Änderungsschutz NOT tblDaten.GUID_Daten IN (SELECT GUID_Item FROM tblLockStatus WHERE ID_Entity = 1 AND ID_LockType > 0)
Beobachtungen mit Mediendaten tblDaten.GUID_Daten IN (SELECT GUID_Parent FROM tblFiles)

BatBase

Abfrage SQL-Syntax Bemerkung
Beringung tblDaten.ID_Fundtyp = 540 540 = Beringung, 542 = Wiederfund
Geschlecht tblDatenZusatz.ID_Geschlecht = 1 1 = männlich, 2 = weiblich, 3 = unklar, 0 = nicht eingetragen
Gewicht tblDaten.Masse > 10 Angabe in Gramm
Länge 5. Finger tblDaten.Len5Finger > 5 Angabe in Millimetern
Länge Daumenkralle tblDaten.LenDaumen > 10 Angabe in Millimetern
Länge Unterarm tblDaten.LenUnterarm > 50 Angabe in Millimetern
Flugstrecke tblDatenZusatz.Flugstrecke > 50000 Angabe in Metern
Zeitdifferenz tblDatenZusatz.Zeitdifferenz LIKE '10*' Zeitdifferenz im Format JJMMTT, auch mit Platzhalterzeichen. '10*' findet alle Tiere, die 10 Jahre nach der Beringung gefunden wurden.
Tagesdifferenz tblDatenZusatz.Tagesdifferenz > 365 Angabe in Tagen
Publiziert tblDatenZusatz.Flag_Publiziert = 1 1 = publiziert, 0 = nicht publiziert bzw. nicht eingetragen
Quartiertyp tblQuartiertyp.Quartiertyp LIKE 'Wochenstube' Auch mit Platzhalterzeichen
Ringnummer tblDaten.Ringnummer LIKE 'C45977' Auch mit Platzhalterzeichen, zum Beispiel 'C459*'
Unklare Meldung tblDatenZusatz.ID_UnklareMeldung = 2 1 = Zeit unklar, 2 = Ort unklar, 3 = sonstiges unklar
Verletzung: Art der Verletzung tblVerletzung.ItemValue LIKE 'Ring*' Auch mit Platzhalterzeichen, zum Beispiel 'Ring*'
Verletzung: Körperseite tblKoerperseite.ItemValue LIKE 'links' Mögliche Werte: links, rechts, beidseitig
Verletzung: Aktueller Zustand tblAktuellerZustand.ItemValue LIKE 'verheilt*' Auch mit Platzhalterzeichen, zum Beispiel 'verheilt*'

Komplexe SQL-Anweisungen

Die folgenden Anweisungen beginnen mit SELECT und erzeugen eine eigene Ergebnistabelle. Dafür benötigen Sie die Berechtigung für SQL-Abfragen.

Anzahl der Einträge mehrerer Tabellen innerhalb einer SELECT-Anweisung
SELECT 
(SELECT COUNT (*) FROM tblGeometrie)        AS [Anzahl Orte],
(SELECT COUNT (*) FROM tblRingserien)       AS [Anzahl Ringserien],
(SELECT COUNT (*) FROM tblRinge)            AS [Anzahl Ringe],
(SELECT COUNT (*) FROM tblRingnummerAlias)  AS [Anzahl Ringverweise],
(SELECT COUNT (*) FROM tblBeobachter)       AS [Anzahl Beobachter],
(SELECT COUNT (*) FROM tblDaten)            AS [Anzahl Beobachtungen]
Alle Fundorte einer Art in einer ausgewählten Region
SELECT DISTINCT tblDaten.Ortsbezeichnung, tblDaten.Region
FROM tblDaten WHERE tblDaten.ID_Art IN 
(SELECT tblArten.ID_Art FROM tblArten WHERE tblArten.Art_wissenschaftlich LIKE 'Graphoderus bilineatus') 
AND Region LIKE 'D-Sachsen%' AND NOT Region LIKE 'D-Sachsen-Anhalt%'
ORDER BY tblDaten.Ortsbezeichnung

Ersetzen Sie Art und Region durch Ihre Werte.

Statistik: Anzahl Individuen pro Art und Jahr
SELECT tblDaten.ID_Art, MIN(Art_deutsch) AS Art_deutsch, 
MIN(Art_wissenschaftlich) AS Art_wissenschaftlich, 
tblDaten.Jahr, SUM(Anzahl_Min) AS Anzahl_Individuen FROM tblDaten 
INNER JOIN tblArten ON tblDaten.ID_Art = tblArten.ID_Art 
WHERE Art_deutsch IN ('Kleinabendsegler', 'Rauhautfledermaus', 'Zweifarbfledermaus')
GROUP BY tblDaten.ID_Art, Jahr ORDER BY Art_deutsch, Jahr

Ändern Sie die gewünschten Arten oder lassen Sie die WHERE-Bedingung weg.

Statistik: Anzahl Beobachtungen pro Artengruppe
SELECT tblArtengruppen.ID_Kategorie, tblArtengruppen.ID_Gruppe, tblArtengruppen.Gruppe, 
tblArtengruppen.Gruppe_wiss, COUNT(tblDaten.ID_Art) AS Anzahl_Beobachtungen
FROM tblArten 
INNER JOIN tblArtengruppen ON tblArten.ID_Gruppe = tblArtengruppen.ID_Gruppe 
INNER JOIN tblDaten ON tblArten.ID_Art = tblDaten.ID_Art
WHERE tblDaten.Jahr = 2015
GROUP BY tblArtengruppen.ID_Gruppe, tblArtengruppen.ID_Kategorie, tblArtengruppen.Gruppe, tblArtengruppen.Gruppe_wiss

Ändern Sie das Jahr oder lassen Sie die WHERE-Bedingung weg.

Gegenüberstellung verwendete Synonyme und aktuell gültige Artnamen
SELECT ID_Art, SystemCode, Art_deutsch, Art_wissenschaftlich, 
(SELECT ID_Art FROM tblArten B WHERE ID_TaxaStatus = 0 AND A.SystemCode=B.SystemCode) AS ID_Art_aktuell, 
(SELECT Art_deutsch FROM tblArten B WHERE ID_TaxaStatus = 0 AND A.SystemCode=B.SystemCode) AS Art_deutsch_aktuell, 
(SELECT Art_wissenschaftlich FROM tblArten B WHERE ID_TaxaStatus = 0 AND A.SystemCode=B.SystemCode) AS Art_wissenschaftlich_Aktuell 
FROM tblArten A WHERE ID_Art IN (SELECT ID_Art FROM tblDaten WHERE ID_Kategorie = 1 AND ID_TaxaStatus = 2)
Gespeicherte Orte mit Beobachtungen in 2018 und ohne Beobachtungen in 2019
SELECT GUID_Ort, Ortsbezeichnung FROM tblGeometrie 
WHERE GUID_Ort IN (SELECT GUID_Ort FROM tblDaten WHERE Jahr = 2018) 
AND NOT GUID_Ort IN (SELECT GUID_Ort FROM tblDaten WHERE Jahr = 2019) 
AND GUID_Ort IN (SELECT GUID_Ort FROM tblGeometrieOrtstypen WHERE ID_Ortstyp = 3)

Ersetzen Sie die Jahreszahlen. Ändern Sie bei Bedarf den Ortstyp (ID_Ortstyp = 3 steht für Biberrevier) oder lassen Sie die letzte Zeile weg.

Alle Gewölluntersuchungen, in denen die Feldspitzmaus gefunden wurde
SELECT Ortsbezeichnung, Datum, Jahr, Anzahl_Min AS Anzahl_Feldspitzmaus, 
(SELECT SUM(Anzahl_Min) FROM tblDaten B WHERE A.GUID_Group = B.GUID_Group) AS Anzahl_Beutetiere, 
(SELECT SUM(Anzahl_Min) FROM tblDaten B WHERE A.GUID_Group = B.GUID_Group AND B.ID_Kategorie IN (1,2,3,4)) AS Anzahl_Wirbeltiere  
FROM tblDaten A WHERE ID_AddIn = 5 AND ID_Art = 102 ORDER BY Ortsbezeichnung, Jahr, Datum

Passen Sie bei Bedarf die ID_Art an (im Beispiel 102 für die Feldspitzmaus).

Alle Gewölluntersuchungen, in denen die Feldspitzmaus nicht gefunden wurde
SELECT Ortsbezeichnung, Datum, Jahr, GUID_Group AS [GUID-Group],  
(SELECT SUM(Anzahl_Min) FROM tblDaten B WHERE A.GUID_Group = B.GUID_Group) AS Anzahl_Beutetiere, 
(SELECT SUM(Anzahl_Min) FROM tblDaten B WHERE A.GUID_Group = B.GUID_Group AND B.ID_Kategorie IN (1,2,3,4)) AS Anzahl_Wirbeltiere 
FROM tblDaten A WHERE ID_AddIn = 5 AND A.GUID_Group NOT IN (SELECT GUID_Group FROM tblDaten WHERE ID_AddIn = 5 AND ID_Art = 102)
GROUP BY Ortsbezeichnung, Datum, Jahr, GUID_Group ORDER BY Ortsbezeichnung, Jahr, Datum

Passen Sie bei Bedarf die ID_Art an (im Beispiel 102 für die Feldspitzmaus).

Beobachtungen einer Libellenart, aber ohne Datum 1. Januar
Art_deutsch LIKE 'Blaugrüne Mosaikjungfer' AND NOT (Day(tblDaten.Datum) = 1 AND Month(tblDaten.Datum) = 1)

Die Bedingung schließt Beobachtungen mit dem Datum 1. Januar aus, das oft als Platzhalter für ein unbekanntes Datum steht. Passen Sie bei Bedarf die Art an.

SQL-Anweisungen für Administratoren und Entwickler

Auflistung doppelter Arten
SELECT * FROM (
SELECT MIN(Art_wissenschaftlich) AS Art_wissenschaftlich, 
MIN(ID_Art) AS ID_Art, MAX(ID_Art) AS ID_Art_old, 
MIN(SystemCode) AS SystemCode, MAX(SystemCode) AS SystemCode_old,
COUNT(*) AS Anzahl FROM tblArten WHERE ID_Art < 9999990 
AND NOT ID_Art IN (SELECT ID_Art_old FROM tblDeletedArten) 
AND ID_ArtenTyp = 140 
GROUP BY Art_wissenschaftlich) A 
WHERE A.Anzahl > 1

Findet doppelte Arten in der Artenreferenzliste, die den Taxatyp Art und denselben wissenschaftlichen Namen haben. Der deutsche Name wird dabei nicht geprüft.

Alle Tabellenfelder und deren Eigenschaften auflisten
SELECT * FROM INFORMATION_SCHEMA.COLUMNS WHERE COLUMN_NAME LIKE 'Ortsbezeichnung'

Über das Information Schema listen Sie auf Microsoft SQL Server alle Tabellenfelder mit ihren Eigenschaften und Tabellen auf.

Mit der WHERE-Bedingung auf COLUMN_NAME zeigen Sie nur bestimmte Felder an. Ohne sie erhalten Sie alle Felder.

Zuletzt aktualisiert am