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



## tom33 (17. Juni 2008)

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


----------



## mschuetzda (17. Juni 2008)

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

mfg


----------



## tom33 (18. Juni 2008)

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


----------



## tom33 (23. Juni 2008)

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


----------

