SQL gewisse Felder ausgeben?
Hallo, wie kann ich mit SQL alle Mitarbeiter ausgeben, welche älter sind als Markus.
Tabelle (Personal):
NR Name Geburtsdatum
1 Thomas 20.09.1977
2 Markus 08.11.1990
3 Karl 16.02.2000
4 Wolfgang 02.06.1965
Ausgabe:
1 Thomas 20.09.1977
4 Wolfgang 02.06.1965
Sieht nach einer Hausaufgabe aus. Wie ist denn dein Ansatz?
SELECT [NR], Name, Geburtsdatum
FROM Personal
WHERE Geburtsdatum > Geburtsdatum(Vorname = "Markus");
2 Antworten
Probier das mal:
SELECT * FROM Personal WHERE Geburtsdatum > (SELECT Geburtsdatum FROM Personal WHERE Name = 'Markus')
Ich glaube, das könnte gehen … Bin mir nicht sicher, ob es < oder > ist ... Probiere es einfach :)
SELECT [NR], Name, Geburtsdatum
FROM Personal
WHERE Geburtsdatum > Geburtsdatum(Vorname = "Markus");
Da ist schon vieles richtig dabei. Im Endeffekt sind die ersten beiden Zeilen vollkommen richtig.
Deine Where-Klausel ist allerdings nur zur Hälfte richtig.
Allerdings funktioniert das:
Geburtsdatum(Vorname = "Markus")
nicht.
Das kann man auf verschiedene Arten lösen. Ich denke die nachvollziehbarste wäre folgende:
SELECT [NR], Name, Geburtsdatum
FROM Personal
WHERE Geburtsdatum > (select Geburtsdatum from Personal where Vorname = 'Markus')