Seite 1 von 1

Gemeinsame Verwendung von DISTINCT, MAX und WHERE

BeitragVerfasst: Do 5. Jul 2018, 13:50
von DumbUser
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

BeitragVerfasst: Di 17. Jul 2018, 07:18
von AdrianSzabo
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.