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.

SQL-Abfragen

Die folgenden SQL-Abfragen helfen bei speziellen Auswertungen der BatBase-Daten. Sie können sie als Vorlage verwenden und an Ihre Daten anpassen.

So verwenden Sie die Abfragen

  1. Wechseln Sie in das Modul Liste.
  2. Blenden Sie über [SQL-Filter] (Registerkarte Liste, Bediengruppe Filteransicht) das Eingabefeld für SQL-Anweisungen ein.
  3. Kopieren Sie die gewünschte Abfrage in das Eingabefeld, passen Sie sie an und führen Sie sie aus.

Es gibt zwei Arten von Abfragen:

  • Abfragen, die mit WHERE beginnen, filtern die Beobachtungen in der Liste.
  • Abfragen, die mit SELECT beginnen, erzeugen eine eigene Ergebnistabelle, zum Beispiel mit Summen oder Anzahlen. Dafür benötigen Sie die Berechtigung für SQL-Abfragen.

Siehe auch Benutzerdefinierter SQL-Filter.

Beispielabfragen

Alle Beringungen und Wiederfunde von Tieren, die ein Beringer beringt oder wiedergefunden hat (Export Beringer-Datenbank)
WHERE tblDaten.Ringnummer IN (SELECT DISTINCT tblDaten.Ringnummer FROM tblDaten 
WHERE tblDaten.GUID_Beobachter = '{4FE5E83C-EDA1-43C5-BB16-9E73962E4FF7}')

Setzen Sie die GUID des gewünschten Beringers ein.

Alle Wiederfunde von Tieren, die ein Beringer beringt hat
WHERE tblDaten.Ringnummer IN (SELECT DISTINCT tblDaten.Ringnummer FROM tblDaten 
WHERE GUID_Beobachter = '{4FE5E83C-EDA1-43C5-BB16-9E73962E4FF7}' 
AND ID_FundTyp IN (540)) AND ID_FundTyp <> 540

Setzen Sie die GUID des gewünschten Beringers ein.

Alle Wiederfunde aus dem Jahr 2013 von Tieren, die ein Beringer beringt und ein anderer Beringer gefunden hat (Variante 1)
WHERE tblDaten.Ringnummer IN (SELECT DISTINCT tblDaten.Ringnummer FROM tblDaten 
WHERE tblDaten.GUID_Beobachter = '{4FE5E83C-EDA1-43C5-BB16-9E73962E4FF7}'
AND tblDaten.ID_FundTyp = 540)
AND tblDaten.ID_FundTyp = 542 
AND tblDaten.GUID_Beobachter <> '{4FE5E83C-EDA1-43C5-BB16-9E73962E4FF7}'
AND tblDaten.Jahr = 2013

Setzen Sie die GUID des gewünschten Beringers und das gewünschte Jahr ein.

Alle Wiederfunde aus dem Jahr 2013 von Tieren, die ein Beringer beringt und ein anderer Beringer gefunden hat (Variante 2)
SELECT ID_FundTyp, Ringnummer, Datum, Ortsbezeichnung, Art_deutsch, Beobachter 
FROM tblDaten INNER JOIN tblArten 
ON tblDaten.ID_Art = tblArten.ID_Art INNER JOIN tblBeobachter 
ON tblDaten.GUID_Beobachter = tblBeobachter.GUID_Beobachter 
WHERE Ringnummer IN (
SELECT DISTINCT (Ringnummer) FROM tblDaten 
INNER JOIN (SELECT DISTINCT Ringnummer AS Beringung_Ringnummer, GUID_Beobachter 
AS Beringung_Beobachter FROM tblDaten WHERE tblDaten.ID_FundTyp = 540) A 
ON tblDaten.Ringnummer = A.Beringung_Ringnummer 
WHERE tblDaten.ID_FundTyp = 542 
AND  tblDaten.GUID_Beobachter <> Beringung_Beobachter
AND  tblDaten.Jahr = 2013)
AND (tblDaten.Jahr = 2013 OR ID_FundTyp = 540)
ORDER BY Ringnummer, ID_Fundtyp

Setzen Sie das gewünschte Jahr ein.

Export Beringer-Datenbank (Beringergemeinschaft)
WHERE Ringnummer IN (SELECT DISTINCT Ringnummer FROM tblDaten 
WHERE GUID_Beobachter IN 
('{4FE5E83C-EDA1-43C5-BB16-9E73962E4FF7}', 
 '{257D4E1E-7A04-4917-AD46-C001F210BCCA}',
 '{14F3E752-9779-4DBA-8002-E3C504F044A5}',
 '{DEA89588-F150-4954-AD0A-D4D2F5EA0318}'))

Setzen Sie die GUIDs der gewünschten Beringer ein.

Übersicht über alle ausgegebenen Ringe
SELECT tblBeobachter.GUID_Beobachter, tblBeobachter.ID_Beobachter, 
tblBeobachter.Beobachter, tblBeobachter.Vorname, tblBeobachter.Nachname, 
tblBeobachter.Ort, tblBeobachter.Bemerkung, tblBeobachter.Beringergemeinschaft, 
tblBeobachter.Ansprechberinger, tblRingausgabe.Ausgabedatum, 
tblRingausgabe.Serie, tblRingausgabe.SerienNr, tblRingausgabe.Flag_Liste, 
tblRingausgabe.Menge, tblRingausgabe.Bemerkung, tblRingausgabe.FehlendeRinge, 
tblRingausgabe.SummeFehlendeRinge, tblRingausgabe.LetzteLieferung, 
tblRingausgabe.Verbleib, tblRingausgabe.NochBeiBeringer, 
tblRingausgabe.ID_Bundesland, tblUserRefList.ItemValue AS Ringfarbe 
FROM tblBeobachter 
INNER JOIN tblRingausgabe 
ON tblBeobachter.GUID_Beobachter = tblRingausgabe.GUID_Beobachter 
LEFT OUTER JOIN tblUserRefList ON tblRingausgabe.ID_Farbe = tblUserRefList.ID_URef 
WHERE tblUserRefList.ItemValue LIKE 'gold' AND tblRingausgabe.Serie LIKE 'C' 
ORDER BY tblRingausgabe.Serie, tblRingausgabe.SerienNr
Anzahl Beringungen und Wiederfunde je Beringungsort
SELECT A.Ortsbezeichnung, 
(SELECT COUNT (*) FROM tblDaten WHERE tblDaten.GUID_Ort = A.GUID_Ort 
AND tblDaten.ID_AddIn = 13 AND tblDaten.ID_FundTyp = 540) AS Anzahl_Beringungen, 
(SELECT COUNT (*) FROM tblDaten WHERE tblDaten.GUID_Ort = A.GUID_Ort 
AND tblDaten.ID_AddIn = 13 AND tblDaten.ID_FundTyp = 542) AS Anzahl_Wiederfunde 
FROM tblGeometrie A
ORDER BY Ortsbezeichnung
Anzahl Beringungen und Wiederfunde je Beringungsort, eingeschränkt auf einen Beringer
SELECT A.Ortsbezeichnung, 
(SELECT COUNT (*) FROM tblDaten WHERE tblDaten.GUID_Ort = A.GUID_Ort  
AND tblDaten.GUID_Beobachter IN (SELECT GUID_Beobachter FROM tblBeobachter WHERE Beobachter LIKE 'M.Mustermann')
AND tblDaten.ID_AddIn = 13 AND tblDaten.ID_FundTyp = 540) AS Anzahl_Beringungen, 
(SELECT COUNT (*) FROM tblDaten WHERE tblDaten.GUID_Ort = A.GUID_Ort 
AND tblDaten.GUID_Beobachter IN (SELECT GUID_Beobachter FROM tblBeobachter WHERE Beobachter LIKE 'M.Mustermann')
AND tblDaten.ID_AddIn = 13 AND tblDaten.ID_FundTyp = 542) AS Anzahl_Wiederfunde 
FROM tblGeometrie A
WHERE (SELECT COUNT (*) FROM tblDaten WHERE tblDaten.GUID_Ort = A.GUID_Ort  
AND tblDaten.GUID_Beobachter IN (SELECT GUID_Beobachter FROM tblBeobachter WHERE Beobachter LIKE 'M.Mustermann')
AND tblDaten.ID_AddIn = 13 AND tblDaten.ID_FundTyp = 540) > 0 
OR 
(SELECT COUNT (*) FROM tblDaten WHERE tblDaten.GUID_Ort = A.GUID_Ort 
AND tblDaten.GUID_Beobachter IN (SELECT GUID_Beobachter FROM tblBeobachter WHERE Beobachter LIKE 'M.Mustermann')
AND tblDaten.ID_AddIn = 13 AND tblDaten.ID_FundTyp = 542) > 0
ORDER BY Ortsbezeichnung
Anzahl Beringungen und Wiederfunde je Beobachter
SELECT A.Beobachter, 
(SELECT COUNT (*) FROM tblDaten WHERE tblDaten.GUID_Beobachter = A.GUID_Beobachter 
AND tblDaten.ID_AddIn = 13 AND tblDaten.ID_FundTyp = 540) AS Anzahl_Beringungen, 
(SELECT COUNT (*) FROM tblDaten WHERE tblDaten.GUID_Beobachter = A.GUID_Beobachter 
AND tblDaten.ID_AddIn = 13 AND tblDaten.ID_FundTyp = 542) AS Anzahl_Wiederfunde 
FROM tblBeobachter A
ORDER BY Beobachter
Übersicht über alle Wiederfunde mit einer Flugstrecke > 20 km und alle dazugehörigen Beringungen
WHERE tblDaten.Ringnummer IN (SELECT tblDaten.Ringnummer FROM tblDaten WHERE GUID_Daten IN 
(SELECT GUID_Daten FROM tblDatenZusatz WHERE Flugstrecke > 20000))
Alle Wiederfunde ohne Beringung
WHERE tblDaten.ID_FundTyp = 542 AND NOT tblDaten.Ringnummer IN 
(SELECT tblDaten.Ringnummer FROM tblDaten WHERE tblDaten.ID_FundTyp = 540)
Alle Tiere einschließlich Beringung, die mehr als 20 km geflogen sind
WHERE (tblDaten.Ringnummer IN (SELECT tblDaten.Ringnummer FROM tblDaten 
INNER JOIN tblDatenZusatz 
ON tblDaten.GUID_Daten = tblDatenZusatz.GUID_Daten 
WHERE tblDatenZusatz.Flugstrecke > 20000)) 
ORDER BY tblDaten.Ringnummer, tblDaten.Datum
Alle Großen Mausohren in den angegebenen Messtischblättern ab dem Jahr 1964, die mehr als 5 km geflogen sind, einschließlich der dazugehörigen Beringungen
WHERE 
Ringnummer IN (SELECT Ringnummer FROM tblDaten 
WHERE ID_Art = 110 AND MTB IN (4953, 4954, 4955, 5054, 5055, 5154, 5155) AND Jahr >= 1964) 
AND Ringnummer IN (SELECT Ringnummer FROM tblDaten INNER JOIN tblDatenZusatz 
ON tblDaten.GUID_Daten = tblDatenZusatz.GUID_Daten
WHERE ID_Art = 110 AND Jahr >= 1964  AND tblDatenZusatz.Flugstrecke > 5000)
 ORDER BY Ringnummer, Datum
Anzahl Beringungen je Art und Bundesland zwischen 1964 und 2012
SELECT tblDaten.ID_Art, MIN(Art_deutsch) AS Art_deutsch, 
MIN(Art_wissenschaftlich) AS Art_wissenschaftlich, 
tblDaten.Region, COUNT(ID_Daten) AS Anzahl_Beringungen 
FROM tblDaten INNER JOIN tblArten 
ON tblDaten.ID_Art = tblArten.ID_Art 
WHERE tblDaten.ID_AddIn = 13  
AND tblDaten.ID_FundTyp = 540 
AND tblDaten.Jahr >= 1964 
AND tblDaten.Jahr <= 2012 
GROUP BY tblDaten.ID_Art, Region 
ORDER BY Art_deutsch, Region
Anzahl Wiederfunde je Art und Bundesland zwischen 1964 und 2012
SELECT tblDaten.ID_Art, MIN(Art_deutsch) AS Art_deutsch, 
MIN(Art_wissenschaftlich) AS Art_wissenschaftlich, 
tblDaten.Region, COUNT(ID_Daten) AS Anzahl_Wiederfunde 
FROM tblDaten INNER JOIN tblArten 
ON tblDaten.ID_Art = tblArten.ID_Art 
WHERE tblDaten.ID_AddIn = 13  
AND tblDaten.ID_FundTyp = 542 
AND tblDaten.Jahr >= 1964 
AND tblDaten.Jahr <= 2012 
GROUP BY tblDaten.ID_Art, Region 
ORDER BY Art_deutsch, Region
Beringung zu alter Ringnummer finden (Umberingung)
WHERE tblDaten.GUID_Daten IN 
(SELECT tblRingnummerHistory.GUID_Daten 
FROM tblRingnummerHistory 
WHERE tblRingnummerHistory.Ringnummer LIKE 'Z28448')
Beringung zu alter Ringnummer finden (Umberingung, ganze Serie)
WHERE tblDaten.GUID_Daten IN 
(SELECT tblRingnummerHistory.GUID_Daten 
FROM tblRingnummerHistory 
WHERE tblRingnummerHistory.Ringnummer LIKE 'O%')
Alle Beringungen und Wiederfunde der Rauhautfledermaus, die in der „Nossentiner Heide“ beringt wurden
WHERE tblDaten.Ringnummer IN 
(SELECT tblDaten.Ringnummer FROM tblDaten 
WHERE tblDaten.ID_FundTyp = 540 
AND tblDaten.Ortsbezeichnung LIKE 'Nossentiner Heide%') 
AND tblArten.Art_deutsch LIKE 'Rauhautfledermaus'
Alle Beringungen und Wiederfunde der Rauhautfledermaus (männlich), die in der „Nossentiner Heide“ beringt wurden und 1997 wiedergefunden wurden
WHERE  tblArten.Art_deutsch LIKE 'Rauhautfledermaus'  
AND (Ringnummer IN (SELECT Ringnummer FROM tblDaten 
INNER JOIN tblDatenZusatz ON tblDaten.GUID_Daten=tblDatenZusatz.GUID_Daten
WHERE Ortsbezeichnung LIKE 'Nossentiner%'  
AND tblDaten.ID_FundTyp = 540 
AND tblDatenZusatz.ID_Geschlecht = 1)) 
AND (Ringnummer IN (SELECT Ringnummer 
FROM tblDaten 
WHERE tblDaten.ID_FundTyp = 542  
AND tblDaten.Jahr = 1997))
Alle Beringungen und Wiederfunde des Großen Mausohrs, die in der Region „Polen“ beringt wurden und mehr als 100 km geflogen sind
WHERE (tblDaten.Ringnummer IN (SELECT tblDaten.Ringnummer FROM tblDaten WHERE GUID_Daten IN 
(SELECT GUID_Daten FROM tblDatenZusatz WHERE Flugstrecke > 100000)) 
AND tblArten.Art_deutsch LIKE 'Großes Mausohr') 
AND (tblDaten.Ringnummer IN (SELECT tblDaten.Ringnummer FROM tblDaten 
WHERE tblDaten.ID_FundTyp = 540 AND tblDaten.Region LIKE 'Polen'))
 ORDER BY tblDaten.Ringnummer ASC, tblDaten.ID_FundTyp ASC
Alle Beringungen und Wiederfunde des Großen Mausohrs, die in der „Burg Stargard“ beringt wurden und mehr als 100 km geflogen sind
WHERE (tblDaten.Ringnummer IN 
(SELECT tblDaten.Ringnummer FROM tblDaten WHERE GUID_Daten IN 
(SELECT GUID_Daten FROM tblDatenZusatz WHERE Flugstrecke > 100000)) 
AND tblArten.Art_deutsch LIKE 'Großes Mausohr') 
AND (tblDaten.Ringnummer IN (SELECT tblDaten.Ringnummer FROM tblDaten 
WHERE tblDaten.ID_FundTyp = 540 AND Ortsbezeichnung LIKE 'Burg Stargard'))
 ORDER BY tblDaten.Ringnummer ASC, tblDaten.ID_FundTyp ASC
Statistik: Anzahl der ausgegebenen Ringe je Bundesland, Serie und Jahr
SELECT tblBeobachter.Region, tblRingausgabe.Serie, YEAR(tblRingausgabe.Ausgabedatum) AS Jahr, SUM(tblRingausgabe.Menge) AS Summe
FROM tblBeobachter INNER JOIN tblRingausgabe ON tblBeobachter.GUID_Beobachter = tblRingausgabe.GUID_Beobachter
GROUP BY tblBeobachter.Region, YEAR(tblRingausgabe.Ausgabedatum), tblRingausgabe.Serie
ORDER BY tblBeobachter.Region, tblRingausgabe.Serie, Jahr
Inkonsistente Arten innerhalb einer Ringnummer finden
SELECT Ringnummer, COUNT(A.Ringnummer) AS Anzahl 
FROM (SELECT DISTINCT Ringnummer, ID_Art FROM tblDaten) A 
GROUP BY A.Ringnummer
HAVING COUNT(A.Ringnummer) > 1
Anzahl Fundorte je Art für einen bestimmten Zeitraum
SELECT MIN(A.Art_Deutsch) AS Art_Deutsch, MIN(A.Art_Wissenschaftlich) AS Art_Wissenschaftlich, COUNT(A.Ortsbezeichnung ) AS Anzahl FROM 
(
SELECT tblArten.Art_Deutsch, tblArten.Art_Wissenschaftlich, tblDaten.Ortsbezeichnung
FROM   tblArten 
INNER JOIN tblDaten ON tblArten.ID_Art = tblDaten.ID_Art
WHERE (tblDaten.Jahr >= 1991) AND (tblDaten.Jahr <= 2016) 
GROUP BY tblArten.Art_Deutsch, tblArten.Art_Wissenschaftlich, tblDaten.Ortsbezeichnung
) A
GROUP BY A.Art_Deutsch 
ORDER BY A.Art_Deutsch
Doppelte Beringungen ermitteln
SELECT A.* FROM (SELECT ID_FundTyp, Ringnummer, COUNT(ID_FundTyp) AS Anzahl
FROM tblDaten WHERE ID_AddIn = 13 GROUP BY ID_FundTyp, Ringnummer) A
WHERE A.Anzahl > 1 AND ID_FundTyp = 540 Order BY Ringnummer
Doppelte Wiederfunde ermitteln
SELECT A.* FROM (SELECT ID_FundTyp, Ringnummer, Datum, COUNT(ID_FundTyp) AS Anzahl
FROM tblDaten WHERE ID_AddIn = 13 GROUP BY ID_FundTyp, Ringnummer, Datum) A
WHERE A.Anzahl > 1 AND ID_FundTyp = 542 Order BY Ringnummer

Zuletzt aktualisiert am