AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

SQL Anpassung

Ein Thema von Metallicwar · begonnen am 12. Dez 2013 · letzter Beitrag vom 12. Dez 2013
Antwort Antwort
Metallicwar

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

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
Furtbichler
(Gast)

n/a Beiträge
 
#2

AW: SQL Anpassung

  Alt 12. Dez 2013, 13:49
Code:
select name,
       datum,
       Max(Sollzeit) as SollZeit,
       Sum (EndeZeit-AnfangsZeit) as ArbeitsZeit
  from Buchungen
 group by name,datum
wäre jetzt mein Ansatz. Alles drin, was man braucht. Allerdings müsste man 'EndeZeit-AnfangsZeit' noch anpassen, da ich nicht weiß, wie ADS mit Zeitangaben rechnet. Rauskommen soll natürlich die Differenz der beiten Zeitpunkte in Minuten.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:00 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz