Andreas: Datumabfrage (aktuellstes und alle die in der Zukunft liegen)

Hallo Forumsteilnehmer,

aus einer Tabelle einer Datenbank moechte ich das aktuelleste Datum und alle Datum(s)einträge die in der Zukunft liegen auslesen.

Die Datensaetze einer Tabelle wuerden etwa so aussehen:

id datum
1 23.01.2002
2 23.02.2002
3 23.03.2002
4 23.04.2002

Das aktuelleste Datum heruaszufinden ist mit max() und einer WHERE Klausel leicht festzustellen:

SELECT max(datum) form tabelle WHERE datum <= AKTUELLES_DATUM

Ebenso einfach ist es alle in der Zukunft befindlichen Datum(s) auslesen:

SELECT datum form tabelle WHERE datum > AKTUELLES_DATUM

Nun moechte ich diese beiden Ergebnissmengen in einem SQL-Statement abfragen.

Fuer jeden Gedankenanstoss bin ich dankbar

Viele Gruesse
Andreas

  1. Hi Andreas,

    Nun moechte ich diese beiden Ergebnissmengen in einem SQL-Statement abfragen.

    der 'offizielle Weg' in SQL wäre eine UNION dieser beiden Abfragen - kann das Deine Datenbank?
    Falls nicht, dann wirst Du vermutlich über temporäre Tabellen oder Ähnliches gehen müssen.

    Viele Grüße
          Michael

    1. mach dir dein eigenes datumsformat wie z.b.

      20020227 für den 27.02.2002
      20020301

      somit kannst du bequem abfraten erstellen

      mit der abfrage wird´s allerdings a bisserl umständlich:

      tag=Day(Date)
      monat=Month(Date)
      IF tag < 10 then tag = "0" & tag
      IF monat < 10 then monat = "0" & monat

      heute = year(Date) & monat & tag

    2. Hallo Michael,

      Nun moechte ich diese beiden Ergebnissmengen in einem SQL-Statement abfragen.

      der 'offizielle Weg' in SQL wäre eine UNION dieser beiden Abfragen - kann das Deine Datenbank?

      Ja. Es soll auf dem MS-SQL Server und mySQL funktionieren. Bei mySQL ist dies ab der Version 4.0.0 moeglich (http://www.mysql.com/doc/U/N/UNION.html, falls es jemanden interessiert). Beim MS-SQL Server laut Dokumentation auch.

      Vielen Dank fuer Deine Hilfe!

      Gruss
      Andreas