Thema: Delphi SQL Anpassung

Einzelnen Beitrag anzeigen

Metallicwar

Registriert seit: 5. Feb 2010
Ort: Bad Kissingen
293 Beiträge
 
Delphi XE Architect
 
#6

AW: SQL Anpassung

  Alt 12. Dez 2013, 10:56
Code:
SELECT
mas.ID, 'Mustermann, Max' as Name,    
bd.Datum,              
be.Sollzeit,
b.Me1, b.Me2
FROM MA_Stammdaten mas                  
LEFT OUTER JOIN Buchungsdatei bd ON mas.ID = bd.ID_MA_Stammdaten        
LEFT OUTER JOIN Buchungen b ON (bd.ID_MA_Stammdaten = b.ID_MA_Stammdaten AND bd.Datum = b.Datum)        
LEFT OUTER JOIN B_Ergebnisse be ON bd.ID = be.ID_Buchungsdatei
WHERE mas.ID = 2 and (b.BuchungsArt = 'A' or b.BuchungsArt is null) and Month(bd.Datum) = 9 and Year(bd.Datum) = 2013
Tabelle Buchungsdatei: Enthält pro Mitarbeiter für jeden Tag GENAU EINEN EINTRAG, in demu.a. gesagt wird wie lang der MA zu arbeiten hat.
Tabelle Buchungen: Kann mehrere Einträge pro Tag enthalten. In dieser Tabelle werden Informationen gespeichert von wann bis wann ein Mitarbeiter gearbeitet hat (Me1 = Kommen , Me2 = Gehen).
Tabelle B_Ergebnis: Ist über die ID der Tabelle Buchungsdatei verknüpft, enthält also pro Tag/ Mitarbeiter nur einen Datensatz. Die Tabelle enthält errechnete Tageswerte, wie z.B. Sollzeit, Istzeit, Mehrzeit. Die Tabellen werden über eines unserer Programme gefüllt.

Beide Tabellen sind über Mitarbeiter ID und dem Datum verknüpft.

In meiner Where Bedingung sage ich, dass ich für einen Mitarbeiter alle Buchungen vom Monat 9, 2013 angezeigt bekommen möchte, aber nur die Buchungen, bei denen er gearbeitet hat (BuchungsArt = 'A'). Pausebuchungen 'P' sollen nicht angezeigt werden.

Geändert von Metallicwar (12. Dez 2013 um 11:02 Uhr)
  Mit Zitat antworten Zitat