MS-Office-Forum
Google
   

Zurück   MS-Office-Forum > Microsoft Access & Datenbanken > SQL
Registrieren Forum Hilfe Alle Foren als gelesen markieren

Banner und Co.

Antworten
Ads Der Renner, 11 Entwicklertools für Access, Tipps & Trick und offene Datenbanken zum einzigartigen Preis.
Themen-Optionen Ansicht
Alt 19.04.2017, 14:33   #1
7ommak
Neuer Benutzer
Neuer Benutzer
Standard T-SQL : MSSQL 2016 - SQL Abfrage um Zeitraum Wertabhängig zu betrachten

Hallo zusammen,

ich bin der Thomas (7ommak). Da es mein erster Beitrag in diesem Forum ist, bin ich auch über inhaltliche Korrektur-/Verbesserungsvorschläge dankbar. Ich habe den Beitrag auch schon im Datenbankforum gepostet, bislang habe ich aber leider noch keine Antworten bekommen. Ich bin gerne bereit mein Problem weiter zu spezifieziren falls es noch Unklarheiten gibt.

Folgendes Bild zeigt einen Ausschnitt aus einer Tabelle 'z_prod_log' die Schichtmeldungen aus einer Produktion erfasst. Die Schichtmeldungen werden zu jedem Auftrag (ord_no) erfasst und beginnen immer mit einem Start-Ereignis (10) und enden (so sollte es jedenfalls sein) mit einem End-Ereignis (50). Zum Start-Ereignis wird nur eine Start-Zeit angegeben und zum End-Ereignis zur eine End-Zeit. Alle anderen Ereignisse die ziwschen Start und Ende stattfinden haben immer ein Start- und ein End-Ereignis.



Ich benötige nun für einen angegebenen Zeitraum (z.B. 16.03.2017 - 22.03.2017) alle Ereignisse (Events) die in diesem Zeitraum erfasst wurden. Das Problem meiner Abfrage ist, dass ich zwar alle Ereignisse bekomme die in diesem Zeitraum erfasst wurden, allerdings auch End-Ereignisse die außerhalb des Zeitraumes liegen UND dessen zugehörigen Ereignisse nicht innerhalb dieses Zeitraumes liegen.
Ich habe nun zwei Probleme, die ich nicht mit der Abfrage hinbekomme:

1.
- Start-Ereignis von einem Auftrag liegt vor dem Zeitraum
- End-Ereignis von diesem Auftrag liegt hiner dem Zeitraum
-> Ich benötige zu diesem Auftrag dann trotzdem alle Ereignisse (auch Start- und End-Ereignis und ein Ereignis mit Event-ID 90 oder 91, welches keine Start- und/oder End-Zeit besitzt)
2.
- Es gibt für einen Auftrag zwar ein Start-Ereignis (10) das den oben genannten Kriterien entspricht, aber es wurde noch kein End-Ereignis (50) erfasst
-> Es darf zu diesem Aufrag dann kein Ereignis selektiert werden, da der Auftrag noch nicht abgeschlossen wurde

Ich bin um jede Hilfe sehr dankbar. Ich habe lange nichts mehr in SQL gemacht und sehe da auch eindeutig nicht meine Stärken drin :-D

Gruß
Thomas
7ommak ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 19.04.2017, 15:38   #2
Josef P.
MOF Guru
MOF Guru
Standard

Hallo!

Wenn du im 2. Or-Teil auf .. date_end >= '01.03.2017' filterst, darfst du dich nicht wundern, wenn solche Datensätze kommen.


Zitat:

- Start-Ereignis von einem Auftrag liegt vor dem Zeitraum
- End-Ereignis von diesem Auftrag liegt hiner dem Zeitraum
-> Ich benötige zu diesem Auftrag dann trotzdem alle Ereignisse (auch Start- und End-Ereignis und ein Ereignis mit Event-ID 90 oder 91, welches keine Start- und/oder End-Zeit besitzt)

Eventuell suchst du so etwas:
Code:

select
   L.event_id, L.ord_no, L.date_start, L.date_end
from
   z_prod_log L
where
   EXISTS (select * from z_prod_log X where X.event_id = 10 and X.date_start < '20170323' and X.ord_no = L.ord_no)
   AND
   EXISTS (select * from z_prod_log X where X.event_id = 50 and date_end >= '20170316' and X.ord_no = L.ord_no)
   AND
   L.cost_center between ...
.. kann man eventuell noch ablauftechnisch optimieren, aber so sollte es am verständlichsten zu lesen sein.

mfg
Josef

Geändert von Josef P. (19.04.2017 um 15:40 Uhr).
Josef P. ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 20.04.2017, 15:25   #3
7ommak
Threadstarter Threadstarter
Neuer Benutzer
Neuer Benutzer
Strahlen Danke

Hallo Josef,

danke für deine Hilfe. Ich habe die Abfrage noch um einige Anforderungen erweitert und kann sie nun super verwenden.
Die Abfrage im Bild meines Eingangsposts war übrigens nur dafür vorgesehen mein Problem besser darstellen zu können.

Gruß
Thomas
7ommak ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Ads
Antworten


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Besucher: 1)
 
Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge anzufügen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

vB Code ist An.
Smileys sind An.
[IMG] Code ist An.
HTML-Code ist An.
Gehe zu


Alle Zeitangaben in WEZ +1. Es ist jetzt 19:45 Uhr.


Partner und Co.
Access-Paradies -Alles rund um die Datenbank Microsoft Access -Code -Programme-Tools -Tipps   Kostenlose Tipps & Tricks, Downloads und Programme   www.kulpa-online.com - Tipps - Tricks - Tutorials - Meinungen - Downloads uvm...   vb@rchiv · Willkommen in der Welt der VB Programmierung   Access-Garhammer - Hier finden Sie jede Menge Beispiel-Datenbanken zu Access und mehr ...   mcseboard.de   Die Top Seite für Excel-VBA-Makros uvm.

Powered by: vBulletin Version 3.6.2 (Deutsch)
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.

Copyright ©2000-2010 MS-Office-Forum. Alle Rechte vorbehalten.
Copyright ©Design: Manuela Kulpa ©Rechte: Günther Kramer
Eine Verwendung der Inhalte in anderen Publikationen, auch auszugsweise,
ist ohne ausdrückliche Zustimmung der Autoren nicht gestattet.
Beachten Sie bitte auch unsere Nutzungsbedingungen.