Ich bin auf der Suche nach einer Möglichkeit, die am besten bewerteten überlappenden Segmente auszuwählen. Tabelle würde wie folgt aussehen:Wählen Sie am besten überlappende Segment SQL
CODE START STOP RANK
shift 2016-07-20 05:00 AM 2016-07-20 08:00 AM 5
late 2016-07-20 05:00 AM 2016-07-20 05:08 AM 1
break 2016-07-20 06:00 AM 2016-07-20 06:30 AM 2
Das ist, was ich meine Ausgabe sein mag:
CODE START STOP
late 2016-07-20 05:00 AM 2016-07-20 05:08 AM
shift 2016-07-20 05:08 AM 2016-07-20 06:00 AM
break 2016-07-20 06:00 AM 2016-07-20 06:30 AM
shift 2016-07-20 06:30 AM 2016-07-20 08:00 AM
So ziemlich viel würde ich nur gerne sehen, was die bestplatzierten Segment sagt über diese Staat der Person, aber wenn sie keinen anderen Staat als das Standardsegment "Verschiebung" hatten, dann zeigen Sie einfach, dass sie auf ihrer Verschiebung sind.
Macht es Sinn? Bitte schieße auf Fragen oder Lösungsvorschläge. Ich kann mir in diesem Moment scheinbar nichts vorstellen. Ich kann die am besten bewerteten Segmente auswählen, aber nicht, wenn sie sich überschneiden.
EDIT: Wie Sie auf meinem gewünschten Ausgang der Verschiebung Segment außer Kraft gesetzt wird durch die spät Segment sehen kann, die einen höheren Rang hat (niedrigere Zahl bedeutet einen höheren Rang, wie üblich in der Rangfolge) von 05 : 00 AM bis 05:08 AM, aber ab 05:08 AM, da kein Segment es übersteuert, gehen wir zurück zu unserem Standardsegment shift von 05:08 AM bis 06:00 AM.
Dann gibt es eine geplante Pause Segment von 06.00 und 06.30 Uhr, die wieder überschreibt die Verschiebung Segment. Nachdem dies abgeschlossen ist, gehen wir zurück zu unserem Standardsegment shift von 06:30 Uhr bis 08:00 Uhr, wenn die shift endet.
Ich hoffe, das macht Sinn.
Sounds freaking awesome ... Ich habe keine Chance zu testen es in meiner Umgebung habe aber die Lösungen sehen sehr plausibel und sehr intelligent ... Danke, dass du dir die Zeit genommen hast. Ich werde es testen und wenn alles richtig funktioniert, werde ich deine Antwort so gut signieren! :) –