Muss nochmal etwas nachfragen, komme einfach nicht auf die Lösung.
Code:
SELECT
Buchungsdatei.Datum,
Personal.ID, Personal.Name,
Personal.Vorname,
F.MinToHour(B_Ergebnisse.Pause) as Pause,
F.MinToHour(B_Ergebnisse.Mehrarbeit) as Mehrarbeit,
F.MinToHour(B_Ergebnisse.Tagesnetto) as Tagesnetto,
min(Buchungen.Me1), max(Buchungen.Me2),
sum(CASE WHEN Buchungen.AuftragNr IS NULL THEN 0 ELSE BSumme END) BSumme,
Auftraggeber.Name // --> Name des Auftraggebers
FROM
(((((((Personal Personal
LEFT OUTER JOIN Abteilungen Abteilungen ON
Personal.ID_Abteilungen = Abteilungen.ID)
LEFT OUTER JOIN Buchungsdatei Buchungsdatei ON
Personal.ID = Buchungsdatei.ID_Personal)
LEFT OUTER JOIN Buchungen Buchungen ON Buchungsdatei.ID_Personal = Buchungen.ID_Personal
AND Buchungsdatei.Datum = Buchungen.Datum)
Left outer join auftrag a on Buchungen.Id_Auftrag = a.id) // --> meine zwei joins, mit denen ich mir den Namen des Auftraggebers ermittel
Left Outer join Auftraggeber Auftraggeber on a.ID_Auftraggeber = Auftraggeber.Id) // -->2ter join
LEFT OUTER JOIN FEHLTAGEDEFINITION FEHLTAGEDEFINITION ON Buchungsdatei.Fehltag = FEHLTAGEDEFINITION.Kuerzel)
Left OUTER JOIN B_Ergebnisse B_Ergebnisse ON Buchungsdatei.ID = B_Ergebnisse.ID_Buchungsdatei)
Where Buchungsdatei.Datum >= '01.08.2011' and Buchungsdatei.Datum <= '30.08.2011' and Personal.ID = 88
and Auftraggeber.Name = 'Test GmbH'
group by Buchungsdatei.Datum, Personal.ID, Personal.Name, Personal.Vorname, Pause, Mehrarbeit,
Tagesnetto,Auftraggeber.Name // -->gruppieren nach Auftraggeber
Mit diesem
SQL zeigt er mir aber wieder nur die Tage im Monat an, für die ein Auftraggeber hinterlegt worden ist. Der
SQL soll mir aber alle Tage anzeigen. An Tagen wo kein Auftraggeber hinterlegt ist, soll das Feld eben freigelassen werden.
Bevor ich diese 2 joins eingefügt habe, zeigte er mir noch für alle Tage werte an, nicht nur für Tage an denen auch gearbeitet worden ist.