Announcement

Collapse
No announcement yet.

freien Belegungszeitraum ermitteln

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • freien Belegungszeitraum ermitteln

    Hallo,

    ich habe mehrere Räume die belegt werden können.
    Die Belegungszeiten werden in eine Firebird DB eingetragen.

    Tabellenfelder: ID, anfang, ende, raum.

    Mit einer SQL-Abfrage möchte ich herausfinden, welcher Raum für einen bestimmten Zeitraum frei ist.
    Mit dieser Abfrage funktioniert es:

    <PRE>
    select distinct raum
    from T_DATEN

    where not (ende &gt; '12.01.2004' and anfang &lt; '18.01.2004')
    and
    Raum = 5
    </PRE>

    aber nur solange der Raum einmal in der Tabelle eingetragen ist.
    Bei mehrfacher Eintragung wird der Raum als frei ausgegeben, obwohl er für den Abfragezeitraum belegt ist.

    Ich hoffe, ich habe mich einigermassen verständlich ausgedrückt und mir kann jemand auf die Sprünge helfen.

    Gruss
    Rolf

  • #2
    Hallo Rolf,

    ohne es ausprobiert zu haben, versuch's mal mit:
    <PRE>
    SELECT DISTINCT
    raum
    FROM T_DATEN
    WHERE NOT (raum in
    (SELECT
    t1.raum
    FROM T_DATEN t1
    WHERE ((t1.anfang BETWEEN '12.01.2004' AND '18.04.2004') OR (t1.ende BETWEEN '12.01.2004' AND '18.04.2004'))))
    AND (Raum = 5)</PRE>

    Grüße Joche

    Comment


    • #3
      Hallo Jochen,

      ja, das funktioniert.

      Vielen Dank für die schnelle Hilfe.

      Gruss
      Rol

      Comment


      • #4
        Wäre schneller gewesen, wenn ich das Posting gestern schon gesehen hätte.

        Joche

        Comment

        Working...
        X