Ich habe Daten von 3 Maschinen für die Herstellung ausgegeben. Die Ausgabe sieht wie folgt aus:Overnight Shift
ID MachineId ProgramNo StartTime StopTime Cycle Idle
327628 3 W5_2020_OPP2.MPF 12/15/15 23:29 12/15/15 23:29 0:00:00 0:00:04
327629 3 W5_2020_OPP2.MPF 12/15/15 23:30 12/15/15 23:39 0:09:25 0:01:02
327632 1 880995_610_DN_BOTH.MPF 12/15/15 23:40 12/16/15 0:37 0:56:40 0:10:31
327633 3 W5_2020_OPP2.MPF 12/15/15 23:40 12/15/15 23:40 0:00:08 0:37:35
327634 2 3620_06_OPP1.MPF 12/15/15 23:58 12/16/15 0:07 0:09:08 0:04:38
327635 2 3620_06_OPP1.MPF 12/16/15 0:11 12/16/15 0:14 0:02:32 0:03:05
327636 2 3620_06_OPP1.MPF 12/16/15 0:17 12/16/15 0:34 0:17:08 0:00:41
327637 3 W5_2020_OPP2.MPF 12/16/15 0:18 12/16/15 0:18 0:00:00 0:00:00
327638 3 W5_2020_OPP2.MPF 12/16/15 0:18 12/16/15 0:33 0:15:41 0:02:42
327639 2 3620_06_OPP1.MPF 12/16/15 0:35 12/16/15 0:52 0:16:47 0:09:26
327640 3 W5_2020_OPP2.MPF 12/16/15 0:36 12/16/15 0:36 0:00:00 0:00:06
327641 3 W5_2020_OPP2.MPF 12/16/15 0:36 12/16/15 0:52 0:15:40 0:27:57
327645 1 880995_610_DN_BOTH.MPF 12/16/15 0:47 12/16/15 1:44 0:56:42 0:02:03
Wir haben 2 Schichten, die diese Maschinen laufen, von 6.00 Uhr bis 16.00 Uhr und 16.30 Uhr bis 02.30 Uhr. Ich muss die Zykluszeit für jede Schicht zusammenfassen, die auf der Programmnummer und Maschinennummer gruppiert ist. Ich kann Schicht 1 ganz leicht erreichen, ist die Nachtschicht, mit der ich Probleme habe. Ich habe darüber nachgedacht, die zweite Schicht vor Mitternacht und nach Mitternacht in zwei Gruppen aufzuteilen, aber es gibt Fälle, in denen das Programm kurz vor Mitternacht beginnt und kurz danach endet. Oder wäre es einfacher, die Differenz zwischen Start- und Stoppzeit zu summieren, ohne den Spaltenzyklus zu verwenden? Hat jemand irgendwelche Vorschläge? Vielen Dank im Voraus.
EDIT
ich nicht versucht haben, noch die Gesamt zu tun, haben zuerst die Datensätze nur auf der Suche nach in erster Linie konzentriert. Ich war auch nicht so besorgt, direkt um 2 Uhr morgens anzuhalten, nur so lange, wie es vor 6 Uhr der ersten Schicht war.
SELECT
*
FROM
Cycle
WHERE
CONVERT(VARCHAR(10), StartTime, 108) >= '16:30:00'
AND
CONVERT(VARCHAR(10), DATEADD(DD, 1, StartTime), 108) < '06:00:00'
Welche Sprache verwenden Sie dafür? Was hast du bisher versucht? – Taegost
T-SQL in SQL R2 2008. Ich habe nicht versucht, die Summe noch zu machen, in erster Linie habe ich mich darauf konzentriert, die Datensätze zuerst zu finden. Ich war auch nicht so besorgt, direkt um 2 Uhr morgens anzuhalten, nur so lange, wie es vor 6 Uhr der ersten Schicht war. SELECT * FROM Zyklus WHERE CONVERT (VARCHAR (10), StartTime, 108)> = '16: 30: 00' und CONVERT (VARCHAR (10), DATEADD (DD, 1, StartTime), 108) <'06: 00 : 00 ' – volleygirl029
Diese Information muss in der ursprünglichen Frage sein ... – Taegost