AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Algorithmen, Datenstrukturen und Klassendesign Größte Menge von parallelen Zeiträumen in einem Zeitraum ermitteln
Thema durchsuchen
Ansicht
Themen-Optionen

Größte Menge von parallelen Zeiträumen in einem Zeitraum ermitteln

Ein Thema von Getox · begonnen am 3. Sep 2018 · letzter Beitrag vom 4. Sep 2018
Antwort Antwort
Seite 2 von 2     12   
Benutzerbild von Jasocul
Jasocul

Registriert seit: 22. Sep 2004
Ort: Delmenhorst
1.355 Beiträge
 
Delphi 11 Alexandria
 
#11

AW: Größte Menge von parallelen Zeiträumen in einem Zeitraum ermitteln

  Alt 4. Sep 2018, 08:36
Das SQL von MyRealName sollte mMn funktionieren, wenn es etwas angepasst wird.
Die Termine werden wohl eine ID haben. Da hilft dann ein distinct, bzw. ein Group by im SQL um das richtige Ergebnis zu liefern.
Peter

Geändert von Jasocul ( 4. Sep 2018 um 08:39 Uhr) Grund: Habe 2 Beiträge verwechselt
  Mit Zitat antworten Zitat
Getox

Registriert seit: 28. Dez 2012
155 Beiträge
 
Delphi XE3 Professional
 
#12

AW: Größte Menge von parallelen Zeiträumen in einem Zeitraum ermitteln

  Alt 4. Sep 2018, 10:31
Die Idee von Medium mit dem Zähler fand ich sehr gut.

ich hab das jetzt folgendermaßen gemacht:

1. Abfragen, wie viele Termine bereits zum Startzeitpunkt des neuen Termins gleichzeitig stattfinden. Diesen Wert in eine Zählervariable gelegt.

2. Alle Start- und Endzeitpunkte von bereits existierenden Terminen abgefragt, die zwischen dem Start und Endzeitpunkt des neuen Termins liegen. Dafür habe ich einen Union verwendet. In der ersten Abfrage habe ich alle Startzeitpunkte (Alias Datum) und Fix eine 0 (Alias Typ) abgefragt. In der zweiten habe ich das Selbe für die Endzeitpunkte gemacht, nur dass hier der Typ 1 ist. Das Gesamtergebnis habe ich dann nach Datum sortiert.

3. Alle abgefragten Zeitpunkte per Schleife durchlaufen. Wenn das Datum dem Start-oder Endzeitpunkt des neuen Termins entspricht habe ich es ignoriert. Bei den Anderen habe ich mich dann nur noch am Typ orientiert. Wenn der Typ 0 war, habe ich den Zähler einen hochgezählt und wenn er 1 war habe ich den Zähler verringert.

Wenn der Zähler irgendwann die Gesamtanzahl erreichen sollte, wird das Ganze abgebrochen und der Termin kann nicht angelegt werden.

Vielen Dank für eure Hilfe und Anregungen

Edit: Ich musste noch die Termin-ID mit in die Abfrage aufnehmen, da sonst durch den Union einige Ergebnisse zusammengefasst wurden und somit verloren gingen.
Ist ein Nilpferd ein Pferd, das nicht vorhanden ist?

Geändert von Getox ( 4. Sep 2018 um 15:26 Uhr)
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   

 

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:15 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz