Holger: das zweit-, dritt-, viert-aktuellste Datum aus DB holen

Beitrag lesen

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...