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
![](https://images.gutefrage.net/media/user/TheFamousSpy/1647432540478_nmmslarge__0_0_1919_1919_403148a7164f4c591776466ae088b7c2.png?v=1647432541000)
Sieht nach einer Hausaufgabe aus. Wie ist denn dein Ansatz?
![](https://images.gutefrage.net/media/default/user/8_nmmslarge.png?v=1551279448000)
SELECT [NR], Name, Geburtsdatum
FROM Personal
WHERE Geburtsdatum > Geburtsdatum(Vorname = "Markus");
2 Antworten
![](https://images.gutefrage.net/media/user/FaTech/1708715131049_nmmslarge__0_0_500_500_77a0f43d5804c908f40c8a1b0c260400.png?v=1708715131000)
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 :)
![](https://images.gutefrage.net/media/default/user/8_nmmslarge.png?v=1551279448000)
![](https://images.gutefrage.net/media/user/TheFamousSpy/1647432540478_nmmslarge__0_0_1919_1919_403148a7164f4c591776466ae088b7c2.png?v=1647432541000)
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')