ich bin gerade dabei SQL zu lernen und habe mir dazu ein Projekt vorgenommen, an dem ich gerade ein wenig herumprobiere. Bei der ein oder anderen Abfrage stehe ich gerade vor einem Problem, da weiss ich noch nicht wie ich das lösen kann, über ein paar Ideen freue ich mich sehr
Ich habe zunächst einmal ein ERD gebastelt, ich sende euch mal anbei.
Ich möchte nun Kinder anhand des Geburtsdatums in entsprechende Gruppen zuordnen, je nach Alter. Die Gruppen sind in Bereichen, welche ein Min- und Max. Alter haben. Zur Vereinfachung ist in dem Beispiel Gruppe 1 in Bereich 1, Gruppe 2 in Bereich 2, etc.
Die Regeln sind:
Gruppe1 ist in Bereich 1. In Bereich 1 sind Kinder ab 1 Jahr bis 3 Jahre.
Gruppe2 ist in Bereich 2. In Bereich 2 sind Kinder ab 2 Jahren bis zum 31.07. nachdem es 6 Jahre wurde.
Gruppe3 ist in Bereich 3. In Bereich 3 sind Kinder ab 01.08. nachdem es 6 Jahre wurde bist 12 Jahren.
Das Alter hole ich mir mit
Code: Alles auswählen
SELECT name, vorname, geburtsdatum,
CASE WHEN DATEADD(YEAR, DATEDIFF(YEAR, geburtsdatum, GETDATE()), geburtsdatum) > GETDATE()
THEN DATEDIFF(YEAR, geburtsdatum, GETDATE()) - 1
ELSE DATEDIFF(YEAR, geburtsdatum, GETDATE()) END AS 'Alter'
FROM kind
Das Ziel soll sein, zu einem Stichtag zu sehen, welches Kind sich in welcher Gruppe befindet. Ist das so umzusetzen wie ich mir das vorstelle, oder bin ich hier auf dem Holzweg?
Vielen Dank schon einmal für Hilfestellungen