Oracle 10g, nur Daten mit jüngstem Datum ausgeben

tom33

Grünschnabel
Hallo,

ich habe zwei Tabellen, Tabelle 1 in der doppelte Datensätze vorkommen können.
In der Tabelle 2 sind die zu überprüfenden Daten.

Tabelle 1

nummer1, wert, Datum

1234, aaa, 17.06.2008
1234, abc, 20.05.2008
3455, aab, 12.06.2008

Tabelle 2

nummer2

1234

Wie bekomme ich aus Tabelle 1 die Daten nummer 1, wert, Datum , mit nur dem jüngstem Datum, wobei nummer1 = nummer2 ist
--> Ergebnis 1234, aaa, 17.06.2008

Danke im voraus
 
das sollte funktionieren (ungetestet):
select nummer1, wert, max(datum)
from Tabelle1
where nummer1 in (select nummer2 from tabelle2)

mfg
 
Hallo,

das Ergebnis beinhaltet noch beide Einträge aus der tabelle1 ?

select nummer1, wert, max(datum)
from Tabelle1
where nummer1 in (select nummer2 from tabelle2)
group by nummer1, wert;

*****************************************************************************
NUMMER1 WERT MAX(DATUM)
1234 aaa 17.06.2008
1234 abc 20.05.2008


hat jemand eine weitere Idee ?

mfg
Tom
 
Hi,

hab jetzt eine Lösung gefunden, eventl. gehts ja auch einfacher ?

select nummer1, wert, max(datum)
from Tabelle1
where nummer1 in (select nummer2 from tabelle2)
and datum in (select max(datum) from tabelle1)
group by nummer1, wert;

Ergebnis:

NUMMER1 WERT MAX(DATUM)
1234 aaa 18.07.2008

Gruß Tom
 

Neue Beiträge

Zurück