Switch to full style
Im Bereich SQL für Fortgeschrittene werden komplexe SQL Statements behandelt...
Antwort erstellen

Gemeinsame Verwendung von DISTINCT, MAX und WHERE

Do 5. Jul 2018, 13:50

Hallo zusammen,

ich habe zwei Tabellen.

Tabelle "Auto"
AutoID--Marke
1--------Opel
2--------Audi
3--------VW

Tabelle "Wartung"
WartungsID--AutoID--Wartungsdatum--Km-Stand--Ölwechsel
1--------------1---------20180502----------54243------ja
2--------------2---------20180428----------87654------nein
3--------------3---------20180416----------21400------nein
4--------------1---------20170112----------33480------nein
5--------------2---------20161218----------49772------ja
6--------------3---------20161205----------12261------ja

AutoID korrespondieren in beiden Tabellen.
Kann mir jemand mit dem SQL-Befehl helfen, wie ich die Marke mit dem jeweils letzten Wartungsdatum, an dem ein Ölwechsel durchgeführt wurde, abfragen kann?

Vielen Dank im Voraus.

Re: Gemeinsame Verwendung von DISTINCT, MAX und WHERE

Di 17. Jul 2018, 07:18

Hallo,

eine einfache aber verschachtelte Lösung wäre:

SELECT Marke
FROM Auto
WHERE AutoID IN (SELECT AutoID FROM Wartung WHERE Ölwechsel = 'ja' AND Wartungsdatum = (SELECT MIN(Wartungsdatum) FROM Wartung))

Ich habe einen IN gewählt, denn ist rein theoretisch möglich das zwei Autos mit Ölwechsel am gleichen Tag bei der Wartung sind und somit werden beide angezeigt.
Antwort erstellen