tuffli
Goto Top

SQL - Abfrage des letzten Datums

Hallo,
ich steh gerade voll aufm Schlauch.
Ich habe zwei Tabellen.
In der ersten sind Geräteschaften unseres Hauses aufgelistet, welche "ausgeliehen" werden können sowie die Nummer des Gerätes.
In der zweiten stehen Datum der Ausleihe, die Person, die es abgeholt hat und eine ID entsprechend der Nummer des Gerätes.
Nun möchte ich mir anzeigen lassen, wann alle Geräte zuletzt ausgeliehen wurden.

Über

SELECT a.datum, a.name, g.name FROM ausleihe a, geraete g WHERE g.nummer=a.id GROUP BY g.name ORDER BY a.datum;

komm ich irgendwie nicht hin. Dabei bekomme ich die allererste Ausleihe angezeigt.
Mit MAX(a.datum) hat's auch nicht geklappt. Wie mach ich das nu?

Content-ID: 168092

Url: https://administrator.de/contentid/168092

Ausgedruckt am: 20.11.2024 um 03:11 Uhr

mischn1980
mischn1980 16.06.2011 um 09:19:40 Uhr
Goto Top
Hi,

versuch es doch mal damit:

Select Max(a.datum) as datum, a.name, g.name FROM ausleihe a LEFT JOIN geraete g ON g.nummer=a.id GROUP BY g.name ORDER BY a.datum

Gruss

Michael
Netzfetzer
Netzfetzer 16.06.2011 um 09:23:07 Uhr
Goto Top
select g.name, max(a.datum)
from geraete g left join ausleihe a on g.nummer = a.id
group by g.name

so würdest du alle geräte bekommen, die es bei euch gibt und zusätzlich das letzte ausleihdatum.
vielleicht hilft dir das ;) ist aber nicht getestet ;)

MFG Netzfetzer
Tuffli
Tuffli 16.06.2011 um 11:57:34 Uhr
Goto Top
Mhhh... Das klappt soweit. Allerdings wird die Person falsch zugeordnet. Also ich habs über den vorgeschlagenen LEFT JOIN gemacht und nun bekomme ich das letzte Datum, aber die Person vom ersten Datum... ???
Netzfetzer
Netzfetzer 16.06.2011 um 12:45:30 Uhr
Goto Top
Evtl. kommst du so auf das gewollte Ergebnis:

select x.name, x.datum, y.name from
(select g.name name, a.id id, max(a.datum) datum
from geraete g left join ausleihe a on g.nummer = a.id
group by g.name, a.id) x, ausleihe y
where x.id = y.id
and x.datum = y.datum

MFG Netzfetzer
Tuffli
Tuffli 16.06.2011 um 18:49:49 Uhr
Goto Top
Sorry, dass die Rückmeldung so lange dauert. Musste die Abfrage erstmal verstehen und dann entsprechend umsetzen :D
Danke, hat 1A geklappt.