Dein Statement schränkt das Resultset auf exakt einen Datensatz ein, so kommst Du also gar nicht weiter. Sortiere nach dem Aktualitätskriterium, und hole die ersten n benötigten Zeilen heraus. Beschäftige Dich dazu auch mit der Pseudospalte rownum.
Hi Cheatah,
das stimmt, so erhalte ich nur einen Datensatz.
Meine Tabelle ist so aufgebaut:
LOG_INFO: RECORD_INSERT_TS
-------------------------|-------------------
START BLC Oracle refresh | 19.05.2003
Start_Loading_HDD_Cube | 19.05.2003
START Loading BLC Cube | 19.05.2003
Load BLC Cube Failed | 19.05.2003
END BLC Oracle refresh | 19.05.2003
Start_Loading_UNV_Cube
(...)
Das Problem ist, dass es schwieriger wird, wenn ich mir mehrere Datensätze für die ersten drei aktuellsten RECORD_INSERT_TS herausholen lasse, da die infos für ein Datum nicht in einer Zeile in Form von Tabellenspalten, sondern in mehreren Zeilen stehen.
In meinem Fall gilt also: Ein Datensatz != Eine Reihe des Recordsets.
Ist es nicht möglich, ein Statement der Form für das zweitaktuellste Datum zu machen?
------------schnipp-----------
SELECT log_info, record_insert_ts
FROM table2
WHERE TO_CHAR(record_insert_ts, 'DD.MM.YYYY') =
TO_CHAR((SELECT MAX(record_insert_ts) AS tempvar FROM
table2), 'DD.MM.YYYY')
AND record_insert_ts < tempvar
------------schnapp-----------
ich weiss, dass sich beide Bedingung widersprechen, aber vielleicht führt dieser Anfang doch zu einer Lösung...