![]() |
Re: freien Belegungszeitraum ermitteln
Hallo Rainer,
Zitat:
Gruss Rolf |
Re: freien Belegungszeitraum ermitteln
Ich glaube so könnte es gehen:
SQL-Code:
Wenn Start- oder Endzeit zwischen den gegeben Werten stehen, gilt der Raum als belegt.
SELECT COUNT(t.raum) CountRes
FROM T_Daten t WHERE t.Raum = :RaumNo AND t.Raum NOT IN (SELECT x.Raum FROM T_Daten x WHERE x.Anfang BETWEEN :StartTM AND :EndTm OR x.Ende BETWEEN :StartTM AND :EndTm) Hoffe ich habe dein Problem richtig verstanden. |
Re: freien Belegungszeitraum ermitteln
Hallo GeorgeWNewbie,
ja, es funktioniert. Ich habe die Abfrage etwas angepasst.
SQL-Code:
SELECT distinct t.raum
FROM T_Daten t WHERE t.raum = :raumNo AND t.raum NOT IN (SELECT x.raum FROM T_Daten x WHERE x.Anfang BETWEEN :StartTM AND :EndTm OR x.Ende BETWEEN :StartTM AND :EndTm) Vielen Dank Rolf |
Re: freien Belegungszeitraum ermitteln
Hallo Rolf,
mir ist nicht ganz klar, was die Abfrage t.raum = :raumNo bezwecken soll. Alle freien Räume solltest Du so erhalten
SQL-Code:
select distinct raum
from Belegung where Raum not in (select Raum from Belegung where ende between '12.01.2004' and '18.01.2004' or anfang between '12.01.2004' and '18.01.2004'); |
Re: freien Belegungszeitraum ermitteln
Hallo,
mein Problem ist leider noch nicht gelöst. Wenn ein Raum vom '12.01.2004' bis '18.01.2004' als belegt eingetragen ist und ich frage nach '14.01.2004' bis '16.01.2004' wird auch der belegte Raum als frei zurück gegeben. Nur wenn ich die gebuchten Zeiten abfrage, wird der Raum als nicht frei zurück gegeben. Aber so kommt es zur Kollision. |
Re: freien Belegungszeitraum ermitteln
Stimmt. :?
|
Re: freien Belegungszeitraum ermitteln
Probiers mal so
SQL-Code:
[edit]hatte jetzt doch glatt das falsche Datum[/edit]
select distinct raum
from Belegung where Raum not in (select Raum from Belegung where '14.01.2004' between anfang and ende or '16.01.2004' between anfang and ende); hoffe es klappt |
Re: freien Belegungszeitraum ermitteln
Und was hältst Du davon?
SQL-Code:
select distinct raum
from Belegung where Raum not in (select Raum from Belegung where '14.01.2004' between anfang and ende or '16.01.2004' between anfang and ende); |
Re: freien Belegungszeitraum ermitteln
Hey, ich komm ja gar nicht hinterher :lol:
ich will nicht nerven, aber wenn ich abfrage: '10.01.2004' bis '22.01.2004' wird der Raum als frei zurück gegeben. :wall: |
Re: freien Belegungszeitraum ermitteln
Hi, wie wärs denn mit
SQL-Code:
?
Where Start <= '16.01.2004' AND Ende >= '14.01.2004'
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:42 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz