Wie schreibe ich diese SQL Abfrage?

2 Antworten

Wie sieht denn das relationale Schema aus? Weil wenn die Infos verteilt über verschiedene Relationen liegen und man x verschiedene Joins bilden muss, dann ist es etwas schwer dir da eine Antwort zu geben.

Intuitiv würde ich sagen

SELCT Mitarbeiter.name 
FROM Mitarbeiter
WHERE Einstellungsdatum < 1996

Nur wenn die Informationen gar nicht in einer Relation liegen, oder du sie dir erst irgendwie berechnen musst, dann wird das so natürlich nicht funktionieren -_-

Irgendwie klappt es bei mir nicht und es liegt an den Schreibweise der des Datums, bzw. der Zahlen.

Normal.....

 In der Tabelle sind sie wie folgt aufgeschrieben: XX.XX.XX, also bspw. 05.07.96

Das sieht für dich nach einem String aus, ist aber ein Datumsformat. Und das wird in SQL in einfachen Anführungsstrichen geschrieben. Und da du das Jahr brauchst, solltest du auch via Datepart() das Jahr extrahieren.

Je nach verwendetem SQL-Dielekt/SQL-Server (die unterscheiden sich alle ein wenig) z.B.

WHERE Datepart(year, eingestellt)='96'