Antworten auf deine Fragen:
Neues Thema erstellen

Mysql einen timestampbereich abdecken

AxelM

Nicht mehr ganz neu hier

Moin,
ich habe einen Knoten im Hirn, der sich ziemlich hartnäckig hält:

es gibt eine MysqlTabelle in der Urlaub eingetragen wird:
von UNIXTIMESTAMP bis UNIXTIMESTAMP
nun habe ich einen Prüfzeitraum von UNIXTIMESTAMP bis UNIXTIMESTAMP
und wüsste gern welche Urlaubseinträge sich mit mit dem Prüfzeitraum schneiden (davon kann es durchaus mehrere geben).


Danke schon mal für eure Antworten.
 

AxelM

Nicht mehr ganz neu hier

Das hilft leider nur bedingt. denn ich muss ja einen ganzen Bereich abdecken

Ich brauche also alle Urlaube, die eine Schnittmenge mit dem Prüfzeitraum haben.
 

buerzel

Versuch macht kluch!

Teammitglied
Welchen ganzen Bereich? Ohne die Datenbank- bzw. Tabellenstruktur zu kennen, kann man da schlecht eine konkrete Antwort geben. Und womit hast du es denn schon versucht?
 
G

Gelöschtes Mitglied 633957

Guest

Eher ein Gedankenspiel als eine Lösung...
Mit PHP würde ich wohl Arrays aus dem Urlaubszeitraum und dem Suchzeitraum erstellen und diese via intersect bzw. uintersect auf eine Schnittmenge prüfen. Ob soetwas mit SQL möglich ist, kann ich nicht sagen. Das ist absolut nicht mein Steckenpferd.

Alternativ dazu, ist doch eigentlich nur die Frage:
WENN Urlaub_Start ZWISCHEN Suche_Start UND Suche_Ende ODER Urlaub_Ende ZWISCHEN Suche_Start UND Suche_Ende
DANN hat jemand innerhalb des Suchzeitraums Urlaub.

Lässt sich soetwas nicht mit CASE in SQL realisieren?
 

webcasi

Nicht mehr ganz neu hier

man prüft eben für jeden Eintrag, den mysql zurückgibt
Select Mitarbeiter from Tabelle where Urlaubstart>= Anfangprüfzeitraum (in Unix timestamp) AND <= Endeprüfzeitraum

Das gleiche könnte man man auch mit dem Feld Urlaubsende machen. Ich hoffe ich habe keinen Denkfehler drin.
Ohne Datenbankstruktur ist das sehr abstrakt. Die Timestamps, die man sucht muss man natürlich vorher in PHP oder ä. definieren.
 

owieortho

Aktives Mitglied

Hier die fünf möglichen und in rot die kritischen Fälle. Wobei A=Urlaubsanfang, E=Urlaubsende, PA=Prüfzeitanfang und PE=Prüfzeitende


Daraus abgeleitet die in der WHERE-clause zu verwendenden Konditionen (ginge natürlich auch mit BETWEEN)
O.
 
G

Gelöschtes Mitglied 633957

Guest

Habe ich das nicht bereits zur Sprache gebracht!?
WHERE (a BETWEEN pa AND pe) OR (e BETWEEN pa AND pe);
 

owieortho

Aktives Mitglied

Bilder bitte hier hochladen und danach über das Bild-Icon (Direktlink vorher kopieren) platzieren.
Antworten auf deine Fragen:
Neues Thema erstellen

Willkommen auf PSD-Tutorials.de

In unseren Foren vernetzt du dich mit anderen Personen, um dich rund um die Themen Fotografie, Grafik, Gestaltung, Bildbearbeitung und 3D auszutauschen. Außerdem schalten wir für dich regelmäßig kostenlose Inhalte frei. Liebe Grüße senden dir die PSD-Gründer Stefan und Matthias Petri aus Waren an der Müritz. Hier erfährst du mehr über uns.

Stefan und Matthias Petri von PSD-Tutorials.de

Nächster neuer Gratisinhalt

03
Stunden
:
:
25
Minuten
:
:
19
Sekunden

Neueste Themen & Antworten

Flatrate für Tutorials, Assets, Vorlagen

Zurzeit aktive Besucher

Statistik des Forums

Themen
118.634
Beiträge
1.538.448
Mitglieder
67.555
Neuestes Mitglied
scheflo
Oben