Moin,
ich habe eine Tabelle, in der die Aus- und Rückgabe von Fahrzeugen gespeichert wird:
Tabelle Vermietungen
LfdNr : Autoincrement
Fahrzeug: Integer
Mieter: Integer
AusDat : Varchar(8)
RueckDat : Varchar(8)
Datensätze können nun z.B. sein:
<pre>
LfdNr|Fahrzeug|Mieter|AusDat |RueckDat
1 | 2 | 5 |20050101|20050110
2 | 3 | 6 |20050103|20050115
3 | 3 | 3 |20050118|
4 | 2 | 5 |20050201|
</pre>
Ich brauche nun eine Abfrage, die mir für jedes Fahrzeug den 'ersten' Datensatz liefert.
z.B. Datum =20050213 soll liefern:
<pre>
LfdNr|Fahrzeug|Mieter|AusDat |RueckDat
3 | 3 | 3 |20050118|
4 | 2 | 5 |20050201|
</pre>
Datum=20050120 soll liefern:
<pre>
1 | 2 | 5 |20050101|20050110
3 | 3 | 3 |20050118|
</pre>
ich brauche also so etwas wie
<pre>
select * from Vermietungen where AusDat <=
atum
Group by Fahrzeug
order by Ausdat DESC
</pre>
wobei ich aber jeweils nur den ersten wert pro Fahrzeug brauche.
Geht dies überhaupt in einem Rutsch per SQL, oder muss ich das Ergebnis der obigen Abfrage manuell durchgehen und mir die gewünschten Sätze ermitteln?
(D7, ADO, MS-Access-DB)
Gruss Marcus
ich habe eine Tabelle, in der die Aus- und Rückgabe von Fahrzeugen gespeichert wird:
Tabelle Vermietungen
LfdNr : Autoincrement
Fahrzeug: Integer
Mieter: Integer
AusDat : Varchar(8)
RueckDat : Varchar(8)
Datensätze können nun z.B. sein:
<pre>
LfdNr|Fahrzeug|Mieter|AusDat |RueckDat
1 | 2 | 5 |20050101|20050110
2 | 3 | 6 |20050103|20050115
3 | 3 | 3 |20050118|
4 | 2 | 5 |20050201|
</pre>
Ich brauche nun eine Abfrage, die mir für jedes Fahrzeug den 'ersten' Datensatz liefert.
z.B. Datum =20050213 soll liefern:
<pre>
LfdNr|Fahrzeug|Mieter|AusDat |RueckDat
3 | 3 | 3 |20050118|
4 | 2 | 5 |20050201|
</pre>
Datum=20050120 soll liefern:
<pre>
1 | 2 | 5 |20050101|20050110
3 | 3 | 3 |20050118|
</pre>
ich brauche also so etwas wie
<pre>
select * from Vermietungen where AusDat <=
![Großes Lächeln](https://entwickler-forum.de/core/images/smilies/biggrin.png)
Group by Fahrzeug
order by Ausdat DESC
</pre>
wobei ich aber jeweils nur den ersten wert pro Fahrzeug brauche.
Geht dies überhaupt in einem Rutsch per SQL, oder muss ich das Ergebnis der obigen Abfrage manuell durchgehen und mir die gewünschten Sätze ermitteln?
(D7, ADO, MS-Access-DB)
Gruss Marcus
Comment